Java代码质量检测评估工具-Findbugs
現在在線安裝有問題 使用eclipse3.7? 這種情況大家使用離線安裝吧!
?
一、簡介
?????? Findbugs 是一個靜態分析工具,它檢查類或者 JAR 文件,將字節碼與一組缺陷模式進行對比以發現可能的問題。利用這個工具,就可以在不實際運行程序的情況對軟件進行分析。它可以幫助改進代碼的質量。
?????? Findbugs提供了方便操作的可視化界面,同時也可以作為Eclipse的一個插件來使用,而我們使用得最多的還是作為Eclipse的插件來使用。
二、使用方法
?????? Findbugs可以通過三種方法使用,可以通過Ant工具,通過Ant提供的Swing操作界面和作為Eclipse的一個插件來使用。
1. Ant工具
Ant是一個很好的Java自動執行工具。
???????? Findbugs官方提供了Ant的findbugs操作方法,我們可以通過這樣一個build.xml文件來使用findbugs。
<project name="項目名" default="all">
<property name="findbugs.home" value="findbugs解壓路徑" />
????????????? <path id="findbugs.path">
????????????????? <fileset dir="findbugs解壓路徑">
??????????????????????? <include name="**/*.jar" />
?????????????????? </fileset>
????????????? </path>
????????????? <taskdef name="findbugs"
?????????????????? classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
?????????????????? classpathref="findbugs.path" />
????????????? <!--? 定義findbugs的home,findbugs的task要使用? -->
????????????? <target name="findbugs">
?????????????????? <findbugs home="${findbugs.home}"
??????????????????????? output="xml:withMessages" outputFile="生成的文件">
??????????????????????? <!--? 以上定義findbugs查找的類路徑? -->
??????????????????????? <auxClasspath path="${findbugs.home}/lib/findbugs-ant.jar" />
??????????????????????? <auxClasspath>
??????????????????????????? <fileset dir="lib"
??????????????????????????? includes="*.jar" />
??????????????????????? </auxClasspath>
??????????????????????? <sourcePath path="源文件路徑" />
??????????????????????? <class location="生成類路徑" />
?????????????????? </findbugs>
????????? </target>
???? </project>
比如:我這里有一個我放在博客上的項目的findbugs的ant操作的build文件。
<project name="Calendar" default="all">
<property name="findbugs.home" value="../../findbugs-1.3.8" />
????????????? <path id="findbugs.path">
????????????????? <fileset dir="../../findbugs-1.3.8">
??????????????????????? <include name="**/*.jar" />
?????????????????? </fileset>
????????????? </path>
????????????? <taskdef name="findbugs"
?????????????????? classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
?????????????????? classpathref="findbugs.path" />
????????????? <!--? 定義findbugs的home,findbugs的task要使用? -->
????????????? <target name="findbugs">
?????????????????? <mkdir dir="target/findbugs"/>
?????????????????? <findbugs home="${findbugs.home}"
??????????????????????? output="xml:withMessages" outputFile="target/findbugs/calendar-fb.xml">
??????????????????????? <!--? 以上定義findbugs查找的類路徑? -->
??????????????????????? <auxClasspath path="${findbugs.home}/lib/findbugs-ant.jar" />
??????????????????????? <auxClasspath>
??????????????????????????? <fileset dir="lib"
??????????????????????????? includes="*.jar" />
??????????????????????? </auxClasspath>
??????????????????????? <sourcePath path="src" />
??????????????????????? <class location="target/classes" />
?????????????????? </findbugs>
????????? </target>
???? </project>
設置好Ant的環境后,在命令中使用ant -f build.xml,或者在Eclipse直接運行build.xml文件,運行后生成了一個xml文件,如果你想用Html的格式查看findbugs的結果,可以把output屬性設為:html。這樣就可以通過Html來查看findbugs的結果了。
2. 提供的Swing工具
?????? Ant操作是專家級的操作,一般對于Java不是很熟悉的人,寫build.xml文件。比起Ant來,使用Findbugs提供的Swing工具會使Findbugs的操作更加簡單。運行Findbugs解壓包中的bin文件夾下的findbugs.bat文件。
Findbugs的Swing工具初始主界面如下:
在分析項目之前,我們必須要新建一個項目來分析,選擇文件->新建
顯示新建項目的界面如下圖:
然后添加要分析的類包和目錄(可以選擇編譯好的類所在的文件夾,也可以選擇生成的jar包),再添加輔助類所在的文件夾和源文件所在的文件夾(java文件所在的文件夾)。再點擊完成就可以建立一個要分析的項目。
建立項目后,會自動先自動開始解析項目。
解析后界面:
其中左邊是缺陷的樹結構列表,點擊其中一個Bug,可以在右邊的界面中,顯示Bugs的源文件以及所在的位置。
2.3???????? Findbugs Eclipse插件
Eclipse的Findbugs插件,可以將Findbugs集成到Eclipse中使用。
2.3.1??????? Findbugs的Eclipse插件安裝方法
??????? 1.????? 在線安裝
安裝地址:http://findbugs.cs.umd.edu/eclipse
??????? 2.????? 離線安裝
下載Findbugs插件,將它放入Eclipse下的plusin文件夾,然后重啟Eclipse
??????? 2.3.2??????? Findbugs的Eclipse插件使用
???????? 安裝了Findbugs插件后。右擊點擊你要檢查的項目選擇【Find Bugs】->【Find Bugs】進行檢查。
??????? 要查看Findbugs檢查出了哪些Bug,可以選擇Windows菜單->Show View->Bug Explorer,打開Bug Explorer面板。
???????? 如果想要查看某個Bug詳細的信息,則可以選擇Windows菜單->Open Perspective,然后選擇FindBugs就可以打開FindBugs的Properties面板,在這個面板里面可以看到最詳盡的Bugs信息。
轉載于:https://blog.51cto.com/3237526/1611263
總結
以上是生活随笔為你收集整理的Java代码质量检测评估工具-Findbugs的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 白血病的初期症状(再障能活几年)
- 下一篇: 牛奶解酒吗