Findbugs 使用方法

一、簡介

       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信息。


圖解:

 FindBugs Eclipse插件使用圖解:

 

1.     FindBugs Eclipse插件安裝成功後。就可以利用該插件來檢測自己的代碼, 點擊【工程 、包 、或類文件】->【find Bugs】->【find Bugs】檢測代碼是否存在潛在的bugs。

  

2.    打開find Bugs視圖:

3.    【Bug Explorer】顯示檢測到的所有異常

其中bug有3中顏色, 黑色的臭蟲標誌是分類, 紅色的臭蟲表示嚴重bug發現後必須修改代碼,橘黃色的臭蟲表示潛在警告性bug 儘量修改。

4.     雙擊bug項目就可以在右邊編輯窗口自動打開相關代碼文件並連接到代碼片段

5.      點擊行號旁邊的小臭蟲圖標後再eclipse下方輸出區將提供詳細的bug描述,以及修改建議等信息。我們可以根據此信息進行修改。

這樣一個Bug的處理過程就結束了。希望對大家有所幫助!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章