PMD 的 ruleset.xml 是定义代码检查规则的核心配置文件,需基于官方模板修改,通过 启用规则、 排除路径、 调参,并本地验证生效。PMD 的 `ruleset.xml` 是用来定义代码检查规则的核心配置文件。自定义它,本质上就是告诉 PMD:**要启用哪些规则、禁用哪些规则、是否调整规则参数、是否按需分组或分级**。下面直接说清楚怎么操作:
别从零手写。去 PMD 官方规则文档 找对应语言(比如 Java)的推荐 ruleset,点击“Download”下载一个标准 XML(如 pmd-java-ruleset.xml)。这是最稳妥的起点。
打开 XML 后,你会看到类似这样的结构:
xmlns:xsi="http://www.w3.org/2001
/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
关键操作有这些:
引入单条规则,或整类规则(如 category/java/bestpractices.xml)language 和 message 属性,或直接删掉对应 行 内嵌 ,填上规则支持的 property 名(查官方文档确认).*Test\.java$ 跳过测试类别改完就扔进 CI。本地先验证:
pmd -d src/main/java -f text -R ruleset.xml
-debug 参数看 PMD 加载了哪些规则,确认你的 rule 是否被识别大项目建议拆分:
ruleset-core.xml(基础必检项)ruleset-test.xml(仅对 test 目录启用的规则)ruleset.xml 用 引入,清晰又易维护