maven - 如何查找 pmd 规则集的 xml 名称

标签 maven maven-plugin pmd

这可能是一件相当简单的事情,但我因无法弄清楚而感到沮丧。我已将 Maven 的 PMD 插件添加到我的 pom 中,现在我想添加一些规则集。如何将索引中列出的内容与我需要在 pom 中指定的 XML 文件相匹配?

例如,我如何从 PMD 规则集索引中得知: http://pmd.sourceforge.net/pmd-4.3.0/rules/index.html

如果我想使用我需要添加的java日志规则集

<ruleset>rulesets/java/logging-java.xml</ruleset>

到我的pom?索引中的规则集名称和您需要在 POM 中指定的 XML 文件名之间似乎没有映射。我在这里缺少什么?

(我只是通过偶然发现这个似乎列出了很多问题的问题才弄清楚了上面的问题: How to included bundled rulesets in maven pmd plugin )

最佳答案

文件名和规则集名称只是弱相关。我认为没有一个方案可以将它们联系起来。它们只是开发人员选择的名称。 rulesets/java/logging-java.xml 就是一个很好的示例,因为规则集的名称是 Java Logging,文件名是logging-java。

PMD 通过将路径加载为资源来解析与其捆绑的路径。 Java 的最新捆绑规则集是 https://github.com/pmd/pmd/tree/master/pmd-java/src/main/resources/rulesets/java

我在禁用规则集中的规则时遇到问题。我最终发现该规则已被移至我正在使用的版本中的不同规则集。生成的 XML 报告有一个版本属性,它为我指明了正确的版本。您需要确保正在查看您正在使用的版本的相关索引。我认为您正在查看的规则集索引不适用于您正在使用的 PMD 版本。

如果我看 http://pmd.sourceforge.net/pmd-5.2.3/pmd-java/rules/index.html并忽略文章正文中的链接。左侧菜单中规则集 > Java 下的链接指向与 XML 规则集同名的 HTML 文档。

页面http://pmd.sourceforge.net/pmd-5.2.3/pmd-java/rules/java/logging-java.html记录从 ruleset/java/logging-java.xml 加载的规则集。

关于maven - 如何查找 pmd 规则集的 xml 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36092549/

相关文章:

maven - 插件本身无法添加buildscript依赖项,然后应用dokka-android插件

java - MavenSession 未填充

git - 如何正确使用mvn release :prepare?

checkstyle - 使用 Sonar 分析源代码

java - 如何构建(gwt + jsf 2.0 + spring),jboss

maven - Axis2 与 Maven 的最佳实践

java - 如何在不重新构建应用程序的情况下重新部署到tomcat

java - 在 Glassfish 4.0 中使用嵌入式 EJBContainer 的问题

java - 最终变量

java - 如何在规则集中创建 PMD 自定义规则?