2012-11-30 102 views
5

使用pmd-5.0.1。我有一些自定義的規則集:使用PMD螞蟻目標時找不到規則集/ basic.xml

<target name="pmd"> 
    <condition property="rules.file" else="${data}\pmdrules.xml,${data}\madcustompmdrules.xml"> 
     <isset property="rules.file"/> 
    </condition>   

    <pmd rulesetfiles="${rules.file}"> 
     <formatter type="xml" toFile="${report.file}"/> 
     <fileset dir="${src}"> 
      <include name="**/*.java"/> 
     </fileset> 
    </pmd> 
</target> 

的規則集參考基本規則是這樣的:

<rule ref="rulesets/basic.xml/EmptySwitchStatements"/> 
<rule ref="rulesets/basic.xml/JumbledIncrementer"/> 
<rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/> 
<rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/> 
<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/> 
<rule ref="rulesets/basic.xml/DoubleCheckedLocking"/> 

然而,運行這個Ant目標時,我得到:

java.lang.RuntimeException: Couldn't find the class Can't find resource rulesets/basic.xml. Make sure the resource is a valid file or URL or is on the CLASSPATH. 

應該不是基本的。 xml是否是jar文件的一部分?我錯過了什麼?

回答

13

看起來我是根據過時的PMD版本制定我的規則。他們大多數位於rulesets/java/basic.xml/...

+0

PMD 5.0發生了變化 –