[英]FindBugs command line: how to specify the project to be analyzed?
我試圖在命令行中運行FindBugs ,並在指定要分析的項目時遇到麻煩。 我理解FindBugs在字節碼(.jar,.class)上工作,所以我寫了一個HelloWorld程序並確保它有一些凌亂的代碼可以被FindBugs檢測到。
然后我嘗試了:
java -jar D:/findbugs-2.0.3/lib/findbugs.jar -project HelloWorld/bin
哪個例外:
java.lang.IllegalArgumentException: Can't read project from HelloWorld/bin
at edu.umd.cs.findbugs.Project.readProject(Project.java:774)
我也試過.class和.jar文件,但沒有出現:
java -jar D:/findbugs-2.0.3/lib/findbugs.jar -project HelloWorld/bin/Main.class
java -jar D:/findbugs-2.0.3/lib/findbugs.jar -project HelloWorld.jar
我說,我檢查了FindBugs手冊中有關命令行選項“-project”的信息
您指定的項目文件應該是使用GUI界面創建的項目文件。 它通常以擴展名.fb或.fbp結尾
我不明白這一點。 這是否意味着需要進行一些預處理,FindBugs不能直接檢查任意.jar或.class或項目? 我如何獲得.fb或.fbp擴展名?
謝謝。
該過程在FindBugs網站上描述:
findbugs
以打開GUI,然后單擊“ 新建項目” HelloWorld
。 build/classes/main
或其他內容)一起提供給它:包結構必須在此目錄中啟動。 (cloud disabled)
作為錯誤存儲。 下次,您可以通過運行開始分析
java -jar D:/findbugs-2.0.3/lib/findbugs.jar -project HelloWorld.fbp
如果您不想或不能使用GUI,則可以通過在findbugs.jar之后添加-textui
選項作為第一個選項來獲取純文本版本。 輸出格式和行為通過其他命令行選項配置。
但是,大多數人使用與IDE集成的FindBugs,或者作為構建過程的一部分。 這兩個用例都不需要GUI或命令行版本。 看看你的IDE的插件,它可以節省你很多時間,它們真的很容易使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.