2012-01-13 24 views
8

Tôi đang cố gắng để gọiFindBugs qua Ant, nhưng nhận được lỗi này:CreateProcess lỗi = 206, The filename hoặc gia hạn quá dài

Cannot run program "C:\Program Files (x86)\Java\jre6\bin\javaw.exe" (in 
directory "H:\Users\MyName\workspace\MyProject"): 
CreateProcess error=206, The filename or extension is too long 

Làm thế nào tôi có thể sửa lỗi này? o.O

+0

How are you gọi findbug? trực tiếp chạy tìm kiếm hoặc sử dụng nhiệm vụ tìm kiếm? – Jayan

+0

bằng cách sử dụng tác vụ tìm kiếm. vấn đề vẫn tồn tại ... – sonnuforevis

Trả lời

5

Tôi đã gặp vấn đề tương tự. tôi đã sử dụng

<fileset dir="${basedir}/build"> 
    <include name="**/*.class"/> 
</fileset> 

bên FindBugs mục tiêu và có vẻ như rằng có quá nhiều file .class được thông qua để findbug (? Thông qua dòng lệnh?) Bởi vì khi tôi sử dụng

<fileset dir="${basedir}/build/com/domain/package"> 
    <include name="**/*.class"/> 
</fileset> 

rằng có thấp số lớp, lỗi đã biến mất.

Vì vậy, tôi giải quyết vấn đề bằng cách làm cho một file jar và nuôi nó để FindBugs nhắm mục tiêu với

<findbugs home="${findbugs.home}"> 
    ... 
    <class location="${basedir}/targets/classes-to-analyze.jar"/> 
</findbugs> 
0

Tôi nghĩ rằng một trong những đường dẫn tập tin hiệu quả là rất dài khi java cố gắng để biên dịch clases.

Một giá trị thử là đặt codebase trong một thư mục như C: \ MyProject thay vì một cái gì đó như C: \ Users \ Myname \ workspace \ MyProject

Các vấn đề liên quan