在Eclipse PMD插件中,我可以引用标准规则集文件吗?

时间:2010-11-11 13:56:01

标签: java eclipse maven-2 pmd

我希望我的eclipse PMD plugin配置能够访问与standard ruleset files相同的maven-pmd-plugin

您可以将maven pmd插件配置为使用一组自定义规则集,如下所示:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-pmd-plugin</artifactId>
    <version>2.5</version>
    <configuration>
      <rulesets>
        <!-- Two rule sets that come bundled with PMD -->
        <ruleset>/rulesets/braces.xml</ruleset>
        <ruleset>/rulesets/naming.xml</ruleset>
        <!-- Custom local file system rule set -->
        <ruleset>d:\rulesets\strings.xml</ruleset>
        <!-- Custom remote rule set accessed via a URL -->
        <ruleset>http://localhost/design.xml</ruleset>
      </rulesets>
    </configuration>
</plugin>

但在eclipse插件中,您只能打开/关闭单个规则或指定单个规则集文件。是否有一种方法规则集文件可以包含其他几个?或者我是否必须从我想要使用的规则集自动聚合该文件?

1 个答案:

答案 0 :(得分:2)

您可以在PMD规则集文件中包含其他规则集,例如

<ruleset ...>
    ...
    <rule ref="rulesets/basic.xml"/>
    ...
    <rule ref="rulesets/strings.xml">
        <exclude name="AvoidDuplicateLiterals"/>
    </rule>
    ...
</ruleset>

这实际上是我们自己的规则集文件的摘录,因此它被证明有效: - )

如您所见,您可以从规则集中排除/包含单个规则,甚至可以重新配置它们。一个警告:您不能在单个规则集中混合使用不同语言的规则。即在我们的例子中,我们必须为Java和JSP创建单独的规则集。

我自this page了解了这些技巧。