微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用多个 PMD 规则集时如何正确排除规则?

如何解决使用多个 PMD 规则集时如何正确排除规则?

这个问题是关于在 ruleset 的配置中使用多个 maven-pmd-plugin 文件时覆盖 PMD 规则及其部分的可能性。

设置是

pom.xml

...
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-pmd-plugin</artifactId>
  <version>3.14.0/version>
  <configuration>
    <rulesets>
      <ruleset>ruleset_java_standard.xml</ruleset>
      <ruleset>ruleset_java_custom.xml</ruleset>
    </rulesets>
  </configuration>
</plugin>
...

ruleset_java_standard.xml
-- file with of standard PMD rules 的副本。
我更愿意将其按原样保留在我的项目中(无需手动修改)。

ruleset_java_custom.xml
-- 添加规则和标准规则排除的文件

...
<rule ref="category/java/errorprone.xml">
  <exclude name="BeanMembeRSShouldSerialize" />
</rule>
...

在排除特定规则的情况下,将“差异”保存在单独的文件中会更清晰。 我希望配置中 ruleset 节点的顺序可以帮助覆盖标准规则。 不幸的是,没有预期的效果。我想这是因为包含比排除具有更高的优先级,并且规则集的顺序并不重要

显然,这个问题可以通过从 ruleset_java_standard.xml删除一些规则来解决
但我还是想知道,有没有更优雅的方式来维护规则排除

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。