最近在工作中使用了静态代码分析工具PMD对后端java代码进行扫描,发现这个工具比较简单,并且能够扫描出来一些语法上的问题。
工具介绍
PMD是静态源代码分析器。 它会发现常见的编程缺陷,例如未使用的变量,空的catch块,不必要的对象创建等等。 它主要涉及Java和Apex,但支持其他六种语言。
PMD具有许多内置检查(以PMD术语,规则),在我们的“规则”参考中针对每种语言进行了记录。 我们还支持广泛的API来编写您自己的规则,您可以使用Java或作为独立的XPath查询来执行。
工具使用
PMD可以作为idea开发工具的插件使用,也可以将软件放在windows、linux服务器上使用。
idea 插件
插件安装,在插件弹框搜索PMD查询插件进行安装
安装成功后,可以右击工程或是一个java文件,点击 RUN PMD 选择对应的选项进行代码扫描
扫描完成后可以结果框中查看扫描结果
结果框左下角有个按钮,点击后可以生成html格式的报告。
在 linux 服务器运行
首先从官网下载PMD对应版本的包传到服务器。我这里使用的版本是pmd-bin-6.26.0
。
进入到目录,执行如下命令
pmd-bin-6.26.0/bin/run.sh pmd -d you_project_path -f summaryhtml -R rulesets/java/quickstart.xml
参数介绍
- -d 被扫描目标源码的路径
- -f 生成报告的文件格式,默认是test,可选html 、summaryhtml 等
- -R 要使用的规则集文件, PMD使用称为规则集的xml配置文件,该文件指定要在源上执行的规则。
更详细的说明请查看官网文档
将上述执行结果保存在文件中查看