jenkins集成java静态代码分析工具

maven

maven有很多相关插件,主要有:

  • checkstyle
    Checkstyle 是 SourceForge 的开源项目,通过检查对代码编码格式,命名约定,Javadoc,类设计等方面进行代码规范和风格的检查,从而有效约束开发人员更好地遵循代码编写规范。

  • FindBugs
    FindBugs 是由马里兰大学提供的一款开源 Java 静态代码分析工具。基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bug

  • pmd
    PMD 是由 DARPA 在 SourceForge 上发布的开源 Java 代码静态分析工具。主要分析java源文件有没有潜在的bug,重复的代码,多度复杂的表达式等等。

其他相关插件

  • Jdepend
    主要用来分析代码的依赖及健壮性,它遍历Java class的文件目录,以Java包(package)为单位,为每一个包/类自动生成 包的依赖程度,稳定性,可靠度等的评价报告,根据这些报告,我们可以得到包或类之间的依赖关系,并分析出包的稳定程度,抽象程度,是否存在循环依赖关系等。

  • simian
    现有的版本是基于maven1仓库的,而且有版权的问题,可以使用pmd来替代

  • javancss
    代码的度量工具,检查java源文件、类、方法等更细粒度的指标,提供圈复杂度

  • cobertura
    提供代码测试覆盖率

  • emma
    也是代码测试覆盖率,但是版本较旧,可用cobertura来替代

  • taglist
    用来检测代码里头的TODO

  • duplicateFinder
    提供重复依赖检查

jenkins集成CheckStyle, FindBugs and PMD

安装如下插件

  • FindBugs Plug-in

  • Checkstyle Plug-in

  • PMD Plug-in

配置

在Jenkins的Build中设置

clean package findbugs:findbugs checkstyle:checkstyle pmd:pmd

并在构建设置中选中

  • Publish Checkstyle analysis results
  • Publish FindBugs analysis results
  • Publish PMD analysis results
jenkins集成java静态代码分析工具_第1张图片
屏幕快照 2017-03-12 上午12.06.22.png

关于sonar

Sonar是代码质量管理平台,它提供了插件扩展机制,可以支持PMD、FindBug、checkstyle等,对于Java项目默认执行CheckStyle, FindBugs以及PMD检测,同时也对检测结果进行存储,然后提供了可视化的面板,可以查看相关趋势。

doc

  • 常用 Java 静态代码分析工具的分析与比较
  • Is Sonar Replacement for Checkstyle, PMD, FindBugs?
  • PMD、FindBug、checkstyle、sonar这些代码检查工具的区别?

你可能感兴趣的:(jenkins集成java静态代码分析工具)