【问题标题】:In the Eclipe PMD plugin, can I reference the standard ruleset files?在 Ecipe PMD 插件中,我可以引用标准规则集文件吗?
【发布时间】:2011-05-08 11:49:47
【问题描述】:

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

您可以将 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 插件中,您只能打开/关闭单个规则或指定单个规则集文件。规则集文件是否可以包含其他几个?还是我必须从我想使用的规则集中自动聚合该文件?

【问题讨论】:

  • 我真的很想知道你将如何解决这个问题 :)
  • 我也是。我是一个黑客,但我想弄清楚我是否足够疯狂来完成这个任务:阅读 Maven PMD 插件的配置,找到引用的规则集文件,收集它们的规则并创建一个 .rules 文件使用eclipse可以使用的这些规则。听起来像我,不是吗? :-) 这当然是在我的 m2eclipse 问题的背景下:stackoverflow.com/questions/4122308/…
  • 是的,我发现最近的问题与这个问题有关。是的,听起来确实像你>:)

标签: java eclipse maven-2 pmd


【解决方案1】:

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

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

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

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

我自己从 this page 那里学到了这些技巧。

【讨论】:

  • JSP 是邪恶的 :-) 我们使用 wicket,所以这里只有 Java(和一些最小的 HTML)
  • @seanizer,我们的项目是遗留项目。理论上我倾向于同意你的观点,但由于我们的 GUI 非常简单,我们几乎不需要接触 JSP 代码。因此,用更现代/安全/younameit 替换它并不是我们的首要任务。
猜你喜欢
  • 2011-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多