2010-11-11 47 views
4

我想我的eclipse PMD plugin配置访问与maven-pmd-plugin相同的standard ruleset files在Eclipe PMD插件中,我可以参考标准规则集文件吗?

您可以配置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插件,你可以只开启/关闭个别规则或指定单个规则集文件。有没有规则集文件可以包含其他几种?或者我必须自动从我想使用的规则集中聚合该文件?

+0

我真的很好奇,看看你会如何解决这个:) – 2010-11-12 09:14:58

+0

我也是。我是黑客的一员,但我试图弄清楚我是否足够疯狂以解决这个问题:阅读Maven PMD插件的配置,找到引用的规则集文件,收集规则并创建一个.rules文件使用日食可以使用的这些规则。听起来像我,不是吗? :-)这当然是在我的m2eclipse问题的上下文中:http://stackoverflow.com/questions/4122308/can-i-configure-m2eclipse-through-pom-xml – 2010-11-12 09:18:54

+0

是的,我想出了最近的问题是相关的到这一个。是的,它绝对听起来像你> :) – 2010-11-12 14:12:01

回答

2

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

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

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

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

我从this page了解了自己的技巧。

+0

酷!这会让事情变得更容易! – 2010-11-12 09:31:48

+0

不知道。谢谢! – 2010-11-12 14:07:30

+0

JSP是邪恶的:-)我们使用wicket,所以这里只有Java(和一些最小的HTML) – 2010-11-12 14:34:03

相关问题