自定义PMD规则集是编写符合其XML Schema的ruleset.xml文件,用于声明启用/排除规则、调整参数及过滤路径;不写Java代码,仅通过XML结构化配置静态分析行为。

定义自定义 PMD 规则集(ruleset.xml)本质是编写一个符合 PMD XML Schema 的配置文件,用于声明启用哪些规则、排除哪些规则、调整参数、过滤文件路径。它不写 Java 代码,而是通过结构化 XML 精准控制静态分析行为。
基础结构:从最小可运行 ruleset 开始
每个 ruleset.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">
注意:name 属性必须唯一且有意义;schemaLocation 链接确保 IDE 和 PMD 能校验语法正确性。
规则引用:按需组合内置规则
PMD 自带大量分类规则(如 codestyle、errorprone、design),推荐优先复用而非重写。两种主流方式:
-
单规则引用:精准启用某一条,适合重点管控项
gory/java/errorprone.xml/EmptyCatchBlock"/> -
整类引用 + 排除特例:高效引入一整套,再剔除不适用的
推荐使用后者管理风格类规则,既保持一致性又保留灵活性。
功能介绍:1.程序独立使用的MVC模式开发,程序代码与模板分离,会HTML就会做程序模板2.使用sqlite数据库,mysql数据库随便换,让您不再为购买数据库而烦恼3.增加首页数据自定义功能,导航数据自定义,快速打造属于您自己的网站4.seo伪静态设置更智能化,自定义seo规则,让蜘蛛更喜欢您的网站5.屏蔽ip访问功能5.支持一键采集功能,只要轻轻一点,上万淘宝b2c商品轻松入库,解决数据添加的
规则微调:修改阈值或行为参数
许多规则支持属性(properties)定制。例如控制圈复杂度告警门槛:
常见可调属性包括:threshold、violationSuppressRegex、allowCommentedBlocks 等。具体字段需查阅对应规则文档或源码中的 @Property 注解。
文件范围控制:exclude-pattern 与 include-pattern
避免对测试、生成代码、第三方库误报。在 根节点下直接声明:
- 全局排除测试目录:
.*/test/.* - 排除自动生成代码:
.*/generated/.* - 白名单特例(即使在排除路径中也检查):
.*/test/important/.*
匹配基于正则表达式,路径为相对于项目根的完整路径(含包名),建议用 .* 做前缀后缀通配更稳妥。









