因為在團隊開發中,每一個開發人員的技術水平不一樣,而且每個人寫程式碼的風格也不一樣,隨著程式碼的增量,會導致專案中埋下一些比較隱晦的坑,不僅會影響有些業務邏輯的處理以及上線的穩定性,給後期維護的人員也埋下了難以排查的大坑.所以使用findBugs定期掃下程式碼就很有必要了.
---------- 言歸正傳直接上操作過程-------------
方法一 : 線上安裝 (不推薦很慢容易安裝失敗)
4.完成安裝之後重啟eclipse,右擊專案檔案或目錄,會發現多了Findbugs的選單,如下圖:
方法二 透過外掛方式安裝(推薦)
1 根據自己jdk版本下載安裝包
首先確定 JDK 版本,根據版本選擇 findBugs 版本。
JDK1.8 對應 3.0 以上版本。
JDK1.6 對應 3.0 以下版本(2.0.3)。
http://findbugs.sourceforge.net/(最新版本)
全部版本:
https://sourceforge.net/projects/findbugs/files/findbugs%20eclipse%20plugin/
2 解壓放到plugins目錄重啟eclipse就ok
下載完成,解壓安裝包,將整個資料夾複製到 eclipse –> plugins
新增 ant 包至 eclipse 的 plugins 目錄-->findbugs 目錄
上述標紅的包是生成bugs報告時必須的,也需要新增
3 驗證是否安裝成功.
驗證方式一: 選中專案-右鍵
驗證方式二: Help – About eclipse – Installation Details – Plug-ins
有外掛就安裝成功
使用說明以及引數設定(預設即可)
引數可以預設不動
Minimum rank to report:數字越小嚴重性越高,建議 15 左右 Minimum confidence to report:可信度 High、Low、Medium(中等) Reported bug categories:選擇需要的型別 Bad practice-壞習慣;Correctness-正確性;Dodgy-小問題;Malicious code vulnerability- 惡意程式碼;Internationalization-國際化問題;Performance-效能問題;Security-安全性問題; Multithreaded correctness-執行緒問題;Experrimental-實驗性問題 Mark bugs with … rank as:標記錯誤型別 Error、Waring(警告)、info(資訊)
4 使用
首先編譯專案
因為findbugs是根據位元組碼檔案檢查程式碼的規範,所以要首先編譯專案生成class檔案.
編譯完專案建立 ant 的 build.xml 檔案至專案 src 目錄下:參考如下
build.xml內容如下:
<project name="project_name" default="findbugs">
<property name ="findbugs.home" value ="D:/java/eclipse_new/eclipse/plugins/edu.umd.cs.findbugs.plugin.eclipse_3.0.1.20150306-5afe4d1"/>
<path id="findbugs.lib">
<fileset dir ="${findbugs.home}/lib">
<include name ="findbugs-ant.jar"/>
</fileset>
</path>
<taskdef name="findbugs" classpathref ="findbugs.lib" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"></taskdef>
<target name ="findbugs">
<findbugs home ="${findbugs.home}" jvmargs="-Xmx884m" output ="html" outputFile ="D:/findbugs.html">
<class location ="../WebContent/WEB-INF/classes"/>
<auxClasspath path="${findbugs.home}/lib/findbugs-ant.jar"/>
<auxClasspath>
</auxClasspath>
<sourcePath path ="src"/>
</findbugs>
</target>
</project>
配置上面使用到findbugs的環境變數
開啟 Findbugs 檢視
最後就是生成報告
右鍵執行build.xml檔案就會生成報告
最後找出bugs優先修改最佳化紅色高亮的就ok;至此結束!