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,感觉太专业,没有使用的必要,配置同上。



posted @ 2013-11-08 10:38  study2013  阅读(13024)  评论(0编辑  收藏  举报