maven
maven有很多相关插件,主要有:
checkstyle
Checkstyle 是 SourceForge 的开源项目,通过检查对代码编码格式,命名约定,Javadoc,类设计等方面进行代码规范和风格的检查,从而有效约束开发人员更好地遵循代码编写规范。FindBugs
FindBugs 是由马里兰大学提供的一款开源 Java 静态代码分析工具。基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bugpmd
PMD 是由 DARPA 在 SourceForge 上发布的开源 Java 代码静态分析工具。主要分析java源文件有没有潜在的bug,重复的代码,多度复杂的表达式等等。
其他相关插件
Jdepend
主要用来分析代码的依赖及健壮性,它遍历Java class的文件目录,以Java包(package)为单位,为每一个包/类自动生成 包的依赖程度,稳定性,可靠度等的评价报告,根据这些报告,我们可以得到包或类之间的依赖关系,并分析出包的稳定程度,抽象程度,是否存在循环依赖关系等。simian
现有的版本是基于maven1仓库的,而且有版权的问题,可以使用pmd来替代javancss
代码的度量工具,检查java源文件、类、方法等更细粒度的指标,提供圈复杂度cobertura
提供代码测试覆盖率emma
也是代码测试覆盖率,但是版本较旧,可用cobertura来替代taglist
用来检测代码里头的TODOduplicateFinder
提供重复依赖检查
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
关于sonar
Sonar是代码质量管理平台,它提供了插件扩展机制,可以支持PMD、FindBug、checkstyle等,对于Java项目默认执行CheckStyle, FindBugs以及PMD检测,同时也对检测结果进行存储,然后提供了可视化的面板,可以查看相关趋势。