这可能是一件相当简单的事情,但我对我无法解决这个问题感到沮丧。我已经为我的pom添加了一个PMD插件,现在我想添加一些规则集。如何将索引中列出的文件与我需要在我的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)
答案 0 :(得分:3)
文件名和规则集名称只是微弱相关。我不认为有一个与他们有关的计划。它们只是开发人员选择的名称。 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并忽略文章正文中的链接。规则集&gt;下左侧菜单中的链接; Java是与XML规则集具有相同名称的HTML文档。
页面http://pmd.sourceforge.net/pmd-5.2.3/pmd-java/rules/java/logging-java.html记录了从ruleset/java/logging-java.xml
加载的规则集。