2012-11-30 19 views
5

pmd-5.0.1 kullanımı. Bazı özel rulesets vardır:PMD ant hedefini kullanırken kurallar/basic.xml bulunamıyor

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

kural setleri böyle temel kuralları referans: Bu karınca hedefi çalıştırırken

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

Ancak, ben alıyorum:

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. 

Should temel değil. xml jar dosyasının bir parçası olabilir mi? Neyi kaçırıyorum?

cevap

13

Kurallarimi PMD'nin eski bir sürümüne dayandırıyor gibi görünüyor. Bunların çoğu rulesets/java/basic.xml/... adresinde bulunmaktadır.

+0

PMD 5.0 ​​ile yapılan değişiklik –