一、PMD是扫描 Java 源码并查找以下潜在问题:
从未用过的局部变量
空捕捉块(catch block)
从未用过的参数
空if声明
重复的导入声明
从未用过的私有方法
孤立的类
短型或长型变量及方法名
加入PMD检查, 以下代码如果在reporting节点中加入则在mvn site中执行,如果在build节点中加入,则在build的时候自动运行检查。详细配置参考pmd插件使用说明
org.apache.maven.plugins
maven-pmd-plugin
2.5
加入 checkstyle 检查,详细配置参考checkstyle插件使用说明,同样注意放置在reporting和build节点中的区别(所有报表类插件都要同样注意):
org.apache.maven.plugins
maven-checkstyle-plugin
2.5
加入 simian 的支持,simian是一个支持代码相似度检查的工具,目前有maven插件,也有checkstyle的插件。它不仅可以检查java,甚至可以支持文本文件的检查。详细帮助信息参考这里。simian 的 maven插件在这里
org.codehaus.mojo
simian-maven-plugin
1.6.1
加入 jdepend 检查,详细配置参考jdepend使用说明
org.codehaus.mojo
jdepend-maven-plugin
2.0-beta-2
加入 findbugz 检查,详细配置参考findbugz使用说明,
org.codehaus.mojo findbugs-maven-plugin 2.0.1
加入javadoc生成,详细配置参考javadoc usage
org.apache.maven.plugins maven-javadoc-plugin 2.7 ...
加入 jxr 支持,JXR是一个生成java代码交叉引用和源代码的html格式的工具,详细配置信息参考jxr usage。注意,jxr没有必要在build阶段运行。
org.apache.maven.plugins maven-jxr-plugin 2.1
加入 Cobertura 支持,它是一个代码覆盖率工具,可以用来评估具有相应测试的源代码的比率。详细帮助在这里。另外一个功能相似的软件是EMMA,详细的帮助在这里。两个产品的比较文章在这里,个人倾向于都要用,因为给出的指标不一样,都有参考作用。
org.codehaus.mojo cobertura-maven-plugin 2.4 85 85 true 85 85 85 85 com.example.reallyimportant.* 90 80 com.example.boringcode.* 40 30 clean check
... ... org.codehaus.mojo emma-maven-plugin 1.0-alpha-3-SNAPSHOT ... ...
添加 javaNCSS 插件,它是一个java代码的度量工具,详细参考在这里。
org.codehaus.mojo javancss-maven-plugin 2.0-beta-2