Java 静态分析工具 | 分析对象 | 应用技术 | 备注 |
---|---|---|---|
Checkstyle | Java 源文件 | 缺陷模式匹配 | 过于严格,按照Sun的规范太严格了,需要自定义规则,插件自定义规则没有查找功能,查找规则麻烦,只能做检查,不能修改代码,可配合Jalopy使用修改代码 |
PMD | Java 源代码 | 缺陷模式匹配 | 比较严格。独立的程序是命令行形式操作插件可以配置规则,有独立显示问题的视图,也很方便。一般来说,需要自定义规则才通过检验 |
FindBugs | 字节码 | 缺陷模式匹配;数据流分析 | FindBugs大多数提示有用,值得改配置无查找功能,不过缩写能让我们很快找到某个规则,提供图形界面的独立程序,对jar进行检测,有报告生成,非常方便很多功能插件没有实现,可独立使用FindBugs,但没法同时修改源码 |
sonar(sonarjava) | Java源代码 | 缺陷模式匹配;数据流分析 | 4.x以上版本sonar默认情况下使用自己的sonarjava扫描分析仪,不过可以通过下载插件的方式集成以上的插件到sonar平台 |
参考文档:
https://www.cnblogs.com/cac2020/p/13677271.html
https://blog.sonarsource.com/already-158-checkstyle-and-pmd-rules-deprecated-by-sonarqube-java-rules/