2012-11-30 6 views
5

pmd-5.0.1を使用しています。私はいくつかのカスタムルールセットを持っている:PMD antターゲットを使用しているときにruleset/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> 

ルールセットは、このような基本的なルールを参照します。このAntターゲットを実行しているとき

<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"/> 

は、しかし、私が手:

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で変更が発生しました –

関連する問題