是什么?
静态代码分析器
能找出什么问题?
可能的 bugs - 空的 try/catch/finally/switch 声明
死码 - 未使用的本地变量,参数和私有方法
次优代码 - 无用的 String/StringBuffer 使用
过于复杂的表达式 - 不必要的 if 声明,可能可以写成 while 的 for 循环
CPD,复制粘贴探测器,查找多种语言的重复代码:重复代码常常是由复制粘贴产生的。这意味着,bugs 也被复制粘贴了。修正它们意味着,修正所有重复的代码。
集成方式
1、IDE集成
2、jenkins集成
Jenkins -> Manage Jenkins -> Manage Plugins ,在 Jenkins 中安装 PMD 的插件。
这个命令将产生名为 pmd.xml
的 XML 格式的检查报告,这也是 Jenkins 的 PMD 插件所支持的格式。
参数说明
-d
参数用于指定项目的源码路径
-f
参数用于指定输出报告文件的格式
-r
用于指定输出报告文件的文件名
-rulesets
则用于指定检查规则集合。
也可以通过-R指定一个xml规则集
pmd -d c:datapmdpmd est-dataUnused1.java -f xml -R MyRules.xml
MyRules.xml内容:
在jenkins中生成报告:
生成报告之后在jenkins的job主页可以看到报告,点击进去可看详情
参考文档
https://blog.csdn.net/clamaa/article/details/70045962?locationNum=11&fps=1