2013-02-28 5 views
5

मैं Maven-PMD-प्लगइन rulesets मेरे द्वारा निर्दिष्ट और कुछ नियम (विशेष रूप से, UselessParentheses)Maven-PMD-प्लगइन में कस्टम नियम-सेट उपयोग नहीं कर सकते 5.0.2

बस documentation में वर्णित पसंद को बाहर शामिल करना चाहते हैं, मैं pmd.xml में निम्नलिखित सभी मॉड्यूल के लिए माता पिता है कि रखा:

<reporting> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-pmd-plugin</artifactId> 
     <version>3.0</version> 
     <configuration> 
      <rulesets> 
      <ruleset>/home/ubuntu/ruleset.xml</ruleset> 
      </rulesets> 
     </configuration> 
     </plugin> 
    </plugins> 
    </reporting> 

और इस के साथ की तरह एक कस्टम नियम-सेट तैयार: एक मुख्य भाग के रूप में

<!-- We'll use the entire rulesets --> 
    <rule ref="rulesets/java/basic.xml"/> 
    <rule ref="rulesets/java/imports.xml"/> 
    <rule ref="rulesets/java/codesize.xml"/> 
    <rule ref="rulesets/java/design.xml"/> 
    <rule ref="rulesets/java/strings.xml"/> 
    <rule ref="rulesets/java/unusedcode.xml"/> 

    <!-- We want everything from this except some --> 
    <rule ref="rulesets/java/unnecessary.xml"> 
    <exclude name="UselessParentheses"/> 
    </rule> 

फिर भी, जब मैं mvn clean jxr:jxr pmd:check चलाता हूं तो मेरे पास रिपोर्ट में "UselessParentheses" है। इसके अलावा, -X साथ इसे चलाने से पता चलता

[DEBUG] Preparing ruleset: java-basic 
[DEBUG] Before: java-basic After: java-basic.xml 
[DEBUG] The resource 'rulesets/java/basic.xml' was found as jar:file:/home/ubuntu/.m2/repository/net/sourceforge/pmd/pmd/5.0.2/pmd-5.0.2.jar!/rulesets/java/basic.xml. 
[DEBUG] Preparing ruleset: java-unusedcode 
[DEBUG] Before: java-unusedcode After: java-unusedcode.xml 
[DEBUG] The resource 'rulesets/java/unusedcode.xml' was found as jar:file:/home/ubuntu/.m2/repository/net/sourceforge/pmd/pmd/5.0.2/pmd-5.0.2.jar!/rulesets/java/unusedcode.xml. 
[DEBUG] Preparing ruleset: java-imports 
[DEBUG] Before: java-imports After: java-imports.xml 
[DEBUG] The resource 'rulesets/java/imports.xml' was found as jar:file:/home/ubuntu/.m2/repository/net/sourceforge/pmd/pmd/5.0.2/pmd-5.0.2.jar!/rulesets/java/imports.xml. 

तो यह लग रहा है PMD की तरह अपने कस्टम नियम-सेट पर ध्यान नहीं दिया।

मैं कस्टम नियमों को काम करना चाहता हूं। मैं क्या गलत कर रहा हूं?

उत्तर

5

आप एक reporting जो है

रिपोर्टिंग के रूप में Maven-PMD-प्लगइन कॉन्फ़िगर कर दिया है तत्वों कि साइट पीढ़ी चरण के लिए विशेष रूप अनुरूप होता है। कुछ मैवेन प्लगइन्स रिपोर्टिंग तत्व के तहत परिभाषित और कॉन्फ़िगर की गई रिपोर्ट उत्पन्न कर सकते हैं।

इसका मतलब है आप निम्न आदेश के साथ अमल करना चाहिए: -

mvn clean site 

आप निष्पादित करने के लिए चाहते हैं, तो के रूप में आप का उल्लेख है, कृपया builds, उदा करने के लिए अपने कॉन्फ़िगर कॉपी

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-pmd-plugin</artifactId> 
      <version>3.0</version> 
      <configuration> 
       <rulesets> 
        <ruleset>/home/ubuntu/ruleset.xml</ruleset> 
       </rulesets> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

फिर जब आप

mvn clean jxr:jxr pmd:check 

निष्पादित परिणाम के रूप में अपने की उम्मीद की जानी चाहिए। आप मेवेन पोम, here के बारे में और जानकारी प्राप्त कर सकते हैं।

मुझे आशा है कि इससे मदद मिल सकती है।

सम्मान,

चार्ली च।

+2

धन्यवाद। यह काम करता हैं। मैंने बस [docs] (http://maven.apache.org/plugins/maven-pmd-plugin/examples/usingRuleSets.html) में जो भी कहा है, वह सब कुछ किया और परिणाम नहीं मिला। "निर्माण" खंड में कॉन्फ़िगरेशन रखने के बारे में एक भी शब्द नहीं था। –

+0

लेकिन यदि आप http://maven.apache.org/plugins/maven-pmd-plugin/usage.html पर देखते हैं तो आप उन सभी स्थानों को देखते हैं जहां आप प्लग-इन घोषणा कर सकते हैं ... – gavenkoa

+0

कई मेवेन प्लगइन के साथ, दस्तावेज़ीकरण में विस्तार की कमी है। मुझे यह परेशान लगता है, इस बात पर विचार करते हुए कि यह मैवेन क्या है। –

संबंधित मुद्दे