1. 下載安裝ant、findbugshtml
下載ant、findbugs最新壓縮包解壓到本地磁盤合適位置,好比:apache
D:\Program Files\apache-ant-1.9.7jvm
D:\Program Files\findbugs-3.0.1ui
2. 配置環境變量spa
3. 編寫build.xml命令行
<?xml version="1.0" encoding="UTF-8"?> <project name="hsacct"> <path id="findbugs.path"> <fileset dir="D:/Program Files/findbugs-3.0.1"> <include name="**/*.jar" /> </fileset> </path> <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" classpathref="findbugs.path" /> <property name="findbugs.home" value="D:/Program Files/findbugs-3.0.1" /> <target name="findbugs"> <findbugs home="D:/Program Files/findbugs-3.0.1" jvmargs="-Xmx1024m" output="html" outputFile="D:/Program Files/findbugs-3.0.1/mytest.html"> <class location="D:/Offsite/Sources/mytest_main/mytest-account" /> <class location="D:/Offsite/Sources/mytest_main/mytest-acpt" /> <class location="D:/Offsite/Sources/mytest_main/mytest-act-account" /> <class location="D:/Offsite/Sources/mytest_main/mytest-act-common" /> <class location="D:/Offsite/Sources/mytest_main/mytest-arch" /> <class location="D:/Offsite/Sources/mytest_main/mytest-autotask" /> <class location="D:/Offsite/Sources/mytest_main/mytest-bankacct" /> <class location="D:/Offsite/Sources/mytest_main/mytest-cert" /> <class location="D:/Offsite/Sources/mytest_main/mytest-csdc" /> <class location="D:/Offsite/Sources/mytest_main/mytest-elig" /> <class location="D:/Offsite/Sources/mytest_main/mytest-ofsecu" /> <class location="D:/Offsite/Sources/mytest_main/mytest-preengage" /> <class location="D:/Offsite/Sources/mytest_main/mytest-prod" /> <class location="D:/Offsite/Sources/mytest_main/mytest-sdk" /> <class location="D:/Offsite/Sources/mytest_main/mytest-system" /> <auxClasspath path="D:/Program Files/findbugs-3.0.1/lib/findbugs-ant.jar" /> <auxClasspath> <fileset dir="D:/Offsite/Sources/mytest_main/mytest/target/mytest-1.1.0/WEB-INF/lib" includes="**/*.jar" /> </auxClasspath> <sourcePath path="D:/Offsite/Sources/mytest" /> </findbugs> </target> </project>
4. 生成報告debug
打開命令行,進入到build.xml文件所在文件夾,鍵入ant findbugs命令回車便可。日誌
5. 部分屬性參數說明code
關於findbugs任務的詳細說明,以下: xml
class 嵌套元素指定要分析的類。這個元素必須指定一個location屬性,location屬性的名字爲archive文件(jar,zip等)、目錄或者class文件。
能夠爲一個findbugs元素指定多個class元素。
auxClasspath 可選的嵌套元素,用於指定要分析的類所引用的類,可是並不對引用的類進行分析。
sourcePath 可選的嵌套元素,指定Java源代碼的目錄。
home 必須的屬性,findbugs的安裝目錄。
quietErrors 可選的布爾型屬性。若是是true的話,報告嚴重的分析錯誤和丟失的類。默認狀況下爲false。
reportLevel 可選的屬性。指定優先級別。若是是low的話,那麼報告全部的bug,若是是medium(缺省值),報告medium和high優先級的bug。
output 可選屬性,設置輸出格式
stylesheet 可選屬性,指定生成html時使用的樣式表。
sort 可選屬性,若是輸出屬性設置爲text,該屬性指定是否對輸出結果根據class進行排序,默認爲true。
outputFile 可選屬性,指定輸出文件。
debug 可選的布爾型屬性,是否打印分析過程當中的日誌。默認值爲false。
effort 設置分析工做的等級,能夠爲min、default和max。
conserveSpace 和min effort同樣的功能。
workHard 和max effort同樣的功能。
visitors 可選屬性,指定逗號分隔的列表,指定要運行的detectors。
omitVisitors 可選屬性,忽略detectors。摺合visitors屬性相似,只是不指定不運行哪些detectors。
excludeFilter 可選屬性,指定排除的Filter。
includeFilter 可選屬性,指定包含的Filter。
projectFile 可選屬性,指定項目的名稱。
jvmargs 可選屬性,指定JVM變量。
systemProperty 系統屬性。
timeout 可選屬性,指定超市的時間,默認爲600,000毫秒,即10分鐘。
failOnError 可選屬性,指定是否在運行FindBugs出現異常時中止構建過程,默認爲false。
errorProperty 可選屬性,若是在運行FindBugs時發生錯誤,指定屬性的值爲true。
warningsProperty 可選屬性,若是在運行FindBugs時發生警告,指定屬性的值爲true。
6. 可能遇到的問題
因爲工程比較大,因此在導出html過程當中可能會生成一個空白的html文件。此時將jvmargs參數值調大,好比jvmargs="-Xmx1024m"。