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

Jenkins安装和配置FindBugs、PMD、CheckStyle等插件的更多相关文章

  1. Jenkins 配置 FindBugs,Checkstyle,PMD 实现代码的静态检查 (14)

    一.插件介绍 FindBugs:静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题.利用这个工具,就可以在不实际运行程序的情况对软件进行分析.它可以帮助改进代码的 ...

  2. Jenkins入门系列之——02第二章 Jenkins安装与配置

    2014-12-08:已不再担任SCM和CI的职位,Jenkins的文章如无必要不会再维护. 写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之——03 ...

  3. Jenkins安装与配置

    Jenkins安装与配置 2 Jenkins安装 在最简单的情况下,Jenkins 只需要两个步骤: 1.下载最新的版本(一个 WAR 文件).Jenkins官方网址: http://Jenkins- ...

  4. jenkins安装及配置-centos6.9

    Jenkins安装及配置 目录 1.安装java. 2 1.1安装说明... 2 1.2创建java目录... 2 1.3下载并解压... 2 1.4设置环境变量... 2 1.5验证JDK有效性.. ...

  5. [独孤九剑]持续集成实践(三)- Jenkins安装与配置(Jenkins+MSBuild+GitHub)

    本系列文章包含: [独孤九剑]持续集成实践(一)- 引子 [独孤九剑]持续集成实践(二)– MSBuild语法入门 [独孤九剑]持续集成实践(三)- Jenkins安装与配置(Jenkins+MSBu ...

  6. Jenkins安装和配置系列(阳光温暖了心情)

    转自:http://www.cnblogs.com/yangxia-test/category/668771.html Jenkins学习一:Jenkins是什么? Jenkins学习二:Jenkin ...

  7. Jenkins 安装、配置与项目新建及构建

    1.Jenkins的安装与配置 1.1 java环境配置 Jenkins基于Java, Linux下安装java只要配置java环境变量即可. 首先,解压java到相应目录,我一般习惯把安装的软件放到 ...

  8. 【转】Jenkins 安装与配置

    基本配置: 1.Linux安装配置jdk环境 1.1.上传到 Linux 服务器:例如: 上传至: cd /usr/local 1.2.解压: rpm -ivh jdk-8u111-linux-x64 ...

  9. Jenkins安装和配置

     一.Jenkins的安装 我们在进行自动化测试的时候通常我们都会进行持续集成,可以帮助我们持续集成的工具有很多,我个人比较喜欢用Jenkins. 主要是因为它有如下优点: 开源免费 跨平台,支持所有 ...

随机推荐

  1. Spring配置错误记录

    很多其它Spring问题因为发生时未记录而遗忘了~~~~~~~ 如今动动手 解决方式因为不是源头分析因而仅供參考.! ! 严重: Exception sending context destroyed ...

  2. ss请cc来家里钓鱼,鱼塘可划分为n*m的格子,每个格子有不同的概率钓上鱼,cc一直在坐标(x,y)的格子钓鱼,而ss每分钟随机钓一个格子。问t分钟后他们谁至少钓到一条鱼的概率大?为多少?

    include "stdafx.h" #include<iostream> #include<vector> #include<math.h> ...

  3. 华为AI应用创新大赛即将开启!公开课已备好!

    为鼓励开发者创新,挖掘前沿创新能力的应用及服务,帮开发者打造爆款应用的同时丰富终端消费者的用户体验,由设立10亿激励基金耀星计划扶持的华为创新竞赛平台即将开启. 竞赛平台将滚动推出AI.HAG.AR. ...

  4. 【selenium】Selenium基于Python3的Web自动化测试脚本在IE上运行慢的解决方法

    阐述问题: 执行自动化脚本时,发现文本输入在IE浏览器上特别慢,这样大大降低了自动化效率 解决办法:原因是原先下载的IEDriverServer.exe为64位系统的IE,换为32位的IEDriver ...

  5. ios --转载获ipa 的图片资源

      突然想起当初刚学习iOS的时候,就经常通过抓包和提取素材的方式来模仿App,今天就教大家如何一步步提取App的素材! 大家是否有过想要获取别人的素材的想法?看到某些App的资源很不错,很想导出来用 ...

  6. Yii2 跨库orm实现

    近期在对公司的Yii2项目进行子系统拆分,过度阶段难免会有一些跨库操作,原生语句还好,加下库名前缀就可以了,可是到了orm问题就来了,特别是用到model做查询的时候,现在来记录一下跳过的坑, 像下面 ...

  7. python MySQLdb Windows下安装教程及问题解决方法(python2.7)

    使用python访问mysql,需要一系列安装 linux下MySQLdb安装见  Python MySQLdb在Linux下的快速安装http://www.jb51.net/article/6574 ...

  8. windows 10 python 2.7和python3.6共存解决方法和pip安装

    一.首先去python官网将两个版本下载并安装: 然后进入windows的环境变量,检查下面4个变量: 1.C:\Python272.C:\Python27\Scripts3.D:\software\ ...

  9. 矩阵十题【六】 poj3070 Fibonacci

    题目链接:http://poj.org/problem? id=3070 题目大意:给定n和10000,求第n个Fibonacci数mod 10000 的值,n不超过2^31. 结果保留四位数字. 非 ...

  10. COGS410. [NOI2009] 植物大战僵尸

    410. [NOI2009] 植物大战僵尸 ★★★   输入文件:pvz.in   输出文件:pvz.out   简单对比时间限制:2 s   内存限制:512 MB [问题描述] Plants vs ...