Jenkins安裝和配置FindBugs、PMD、CheckStyle等插件


  最近研究Jenkins的常用插件的使用,主要使用FindBugs、PMD、CheckStyle、Violations、Emma等插件,主要參考了http://blog.csdn.net/dc_726/article/details/9069457,其中這篇文章里提到的使用findbugs的方法與官方文檔(https://wiki.jenkins-ci.org/display/JENKINS/FindBugs+Plugin)一樣,只提到在Root pom.xml中添加配置<reporting>,經過測試發現,不好用。又查了一些資料,發現配置不全,這篇http://blog.csdn.net/zhaolixin007/article/details/9630947文章里配置比較全,經過測試,可以達到預期的結果。配置如下:

(1)在pom.xml文件中增加如下代碼

<plugin> 

              <groupId>org.codehaus.mojo</groupId> 

              <artifactId>findbugs-maven-plugin</artifactId> 

              <version>2.5.1</version> 

              <configuration> 

                  <threshold>High</threshold>

                  <effort>Default</effort>

                  <findbugsXmlOutput>true</findbugsXmlOutput>

                 <findbugsXmlWithMessages>true</findbugsXmlWithMessages>

                  <xmlOutput>true</xmlOutput>

                  <formats><format>html</format></formats>

              </configuration> 

           </plugin>

(2)增加單元測試報告和findbugs報告

<reporting>

        <plugins>

        <!-- To use the plugin goals in your POM or parent POM-->

        <plugin>

            <groupId>org.apache.maven.plugins</groupId>

            <artifactId>maven-surefire-report-plugin</artifactId>

            <version>2.14.1</version>

          </plugin>

          <plugin>

            <groupId>org.apache.maven.plugins</groupId>

            <artifactId>maven-jxr-plugin</artifactId>

            <version>2.1</version>

          </plugin>

      <plugin>

             <groupId>org.codehaus.mojo</groupId>

             <artifactId>cobertura-maven-plugin</artifactId>

          </plugin>

        </plugins>

    </reporting>

配置以上兩處,在Jenkins的Goals and options中設置findbugs:findbugs就OK了。

 

對於PMD的配置,與findbugs類似,按官方文檔(http://maven.apache.org/plugins/maven-pmd-plugin/)配置即可,如下:

<project>
  ...
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pmd-plugin</artifactId>
        <version>3.0.1</version>
      </plugin>
    </plugins>
  </reporting>
  ...
</project>

在Jenkins的Goals and options中設置pmd:pmd就OK了。

對於Checkstyle的配置,比較簡單,安裝完插件后,在Jenkins的Goals and options中設置checkstyle:checkstyle就OK了。

工具

目的

檢查項

FindBugs

檢查.class

基於Bug Patterns概念,查找javabytecode(.class文件)中的潛在bug

主要檢查bytecode中的bug patterns,如NullPoint空指針檢查、沒有合理關閉資源、字符串相同判斷錯(==,而不是equals)等

PMD

檢查源文件

檢查Java源文件中的潛在問題

主要包括:

空try/catch/finally/switch語句塊

未使用的局部變量、參數和private方法

空if/while語句

過於復雜的表達式,如不必要的if語句等

復雜類

CheckStyle

檢查源文件

主要關注格式

檢查Java源文件是否與代碼規范相符

主要包括:

Javadoc注釋

命名規范

多余沒用的Imports

Size度量,如過長的方法

缺少必要的空格Whitespace

重復代碼

Violations是集中表現以上三個插件的結果,我感覺使用它的前提是要安裝以上三個插件。安裝后直接選擇使用就可以了。
對於Emma的配置,我根據官方文檔的步驟配置,沒有成功,就使用了它的一個分支——JaCoCo,這個比較簡單,安裝后直接選擇使用就可以了。
對於JDepend,感覺太專業,沒有使用的必要,配置同上。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM