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



  • 相关阅读:
    Codeforces Round #171 (Div. 2)
    ACdream 1079 郭式树
    HDOJ 1517 博弈论
    ACdream 1080 面面数
    博弈论 Nim 博弈
    Codeforces Round #172 (Div. 2)
    ACdream 1084 同心树
    STL bitset
    博弈论 bash博弈
    POJ 3261 后缀数组
  • 原文地址:https://www.cnblogs.com/zhangchuan210/p/3413811.html
Copyright © 2020-2023  润新知