2010-11-11 46 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

相關問題