FindBugs 是一個靜態分析工具,它檢查類或者 JAR 文件,將字節碼與一組缺陷模式進行對比以發現可能的問題。有了靜態分析工具,就可以在不實際運行程序的情況對軟件進行分析。不是通過分析類文件的形式或結構來確定程序的意圖,而是通常使用 Visitor 模式來鑑別代碼是否符合一些固定的規範。
官網:http://findbugs.sourceforge.net/
maven插件:http://gleclaire.github.io/findbugs-maven-plugin/
jenkins插件:https://wiki.jenkins-ci.org/display/JENKINS/FindBugs+Plugin
eclipse和IDEA都有相應的插件支持,下面我們通過jenkins進行集成。
1.項目配置
maven項目pom.xml中需要配置reporting(可以不配置
)
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>3.0.4</version>
<configuration>
<findbugsXmlOutput>true</findbugsXmlOutput>
<findbugsXmlWithMessages>true</findbugsXmlWithMessages>
<xmlOutput>true</xmlOutput>
</configuration>
</plugin>
</plugins>
</reporting>
2.jenkin插件配置
搜索findbugs,安裝插件:FindBugs Plugin,Report Info Plugin,Static Analysis Collector Plug-in
3.新建job配置
執行maven命令增加findbugs:findbugs
Publish FindBugs analysis results:生成報告
Use rank as priorit:使用嚴重級別作爲優先級
4.報告查詢
點擊“FindBugs Warnings”
查詢報告:
另外生成html報告,可以在maven編譯時使用 site
注:關於Findbugs問題總結定義參考:Findbugs問題總結