首頁 > 軟體

Findbugs安裝使用文件

2020-06-16 18:07:39

一、簡介

      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資訊。


IT145.com E-mail:sddin#qq.com