2012-11-30 36 views
5

का उपयोग करते समय नियम/मूल.एक्सएमएल नहीं मिल सकता है। मैं कुछ कस्टम rulesets है:PMD-5.0.1 का उपयोग करते समय पीएमडी चींटी लक्ष्य

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

rulesets बुनियादी नियमों का संदर्भ इस तरह:

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

बुनियादी नहीं करना चाहिए। एक्सएमएल जार फ़ाइल का हिस्सा बनें? मैं क्या खो रहा हूँ?

उत्तर

13

ऐसा लगता है कि मैं पीएमडी के पुराने संस्करण से अपने नियमों का आधार बना रहा था। उनमें से अधिकांश rulesets/java/basic.xml/... पर स्थित हैं।

+0

पीएमडी 5.0 के साथ परिवर्तन हुआ –