2010-08-25 18 views
5

मैं मैवेन प्लगइन का संस्करण कैसे लॉक कर सकता हूं जिसका मैं उपयोग करना चाहता हूं?मैवेन प्लगइन संस्करण को कैसे लॉक करें

मैं PMD प्लगइन इसलिए तरह कॉन्फ़िगर किया:

<plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-pmd-plugin</artifactId> 
       <version>2.5</version> 
       <configuration> 
        <outputDirectory>target/pmd</outputDirectory> 
        <targetDirectory>target/</targetDirectory> 
        <aggregate>true</aggregate> 
        <targetJdk>1.6</targetJdk> 
        <rulesets> 
         <ruleset>rulesets/basic.xml</ruleset> 
         <ruleset>rulesets/codesize.xml</ruleset> 
         <ruleset>rulesets/coupling.xml</ruleset> 
         <ruleset>rulesets/design.xml</ruleset> 
         <ruleset>rulesets/imports.xml</ruleset> 
         <ruleset>rulesets/logging-java.xml</ruleset> 
         <ruleset>rulesets/optimizations.xml</ruleset> 
         <ruleset>rulesets/strings.xml</ruleset> 
         <ruleset>rulesets/unusedcode.xml</ruleset> 
        </rulesets> 
       </configuration> 
      </plugin> 

बीती रात, मेरे हर रात को निर्माण में विफल रहा है और क्योंकि यह है कि प्लगइन का संस्करण 2.6-स्नैपशॉट लेने के लिए कोशिश कर रहा है मैं अब किसी भी PMD लक्ष्यों चला सकते हैं। यदि मेरे पास एक संस्करण टैग है जो 2.5 कहता है तो यह 2.6-स्नैपशॉट खोजने का प्रयास क्यों कर रहा है? इसके अलावा, 2.6-स्नैपशॉट केंद्रीय में नहीं है - मेरा मैवेन क्लाइंट क्यों सोचता है कि यह अस्तित्व में है?

Maven संस्करण: 2.0.9
जावा संस्करण: 1.6.0_17
ओएस नाम: "लिनक्स" संस्करण: "2.6.24-24-जेनेरिक" कट्टर "i386" परिवार: "यूनिक्स"

संपादित करें:

मैंने मैवेन 2.2.1 में अपग्रेड किया और पहले जैसा ही मुद्दा देखा। मैं अपने भंडार (.m2/repository/org/apache/maven/plugins/maven-pmd-plugin/maven-metadata-central.xml) में मेटाडेटा से 2.6-SNAPSHOT को हटाकर प्रोजेक्ट को बनाने में सक्षम था। मैंने नवीनतम संस्करण संस्करण को 2.5 पर भी सेट किया है। यह स्पष्ट रूप से समाधान नहीं है, क्योंकि मुझे या तो अपनी खुद की प्लगइन तैनात करना होगा या सभी ग्राहकों पर कैश संस्करण बदलना होगा। ऐसे मामलों में

+1

यह एक मेवेन बग की तरह दिखता है। प्लगइन संस्करण को ठीक करने के लिए "संस्करण" टैग विशेष रूप से मौजूद है और यह सुनिश्चित करने के लिए कि आपका निर्माण पुन: उत्पादित है, भले ही एक नई प्लगइन रिलीज हो। –

+0

क्या आपने इसे मैवेन के नए संस्करणों में से एक के साथ आजमाया है, इस समय वे 2.2.1 पर हैं। यदि यह वहां तय है, तो यह मेवेन में एक बग है। – Goibniu

+0

उन्नयन में मदद नहीं मिली (ऊपर संपादित देखें) – Greg

उत्तर

2

मानक प्रक्रिया: अपने स्थानीय रेपो में संगत प्लगइन फ़ोल्डर को हटाएँ:

.m2/repository/org/apache/maven/plugins/maven-pmd-plugin/ 

यह ज्यादातर मामलों में मदद करता है।

यदि नहीं, तो आपको शायद एक भंडार से खराब डेटा मिल रहा है। यदि आप एक नेक्सस का उपयोग कर रहे हैं, तो इंडेक्स का पुनर्निर्माण करें।

+2

मुझे यह काम मिल गया। मुद्दा जेबीओएसएस भंडार से आने वाला प्लगइन मेटाडाटा था। मैं प्रॉक्सी कर रहा था http://repository.jboss.org/nexus/content/groups/public/ जो समस्या पैदा कर रहा था। मैंने अपनी प्रॉक्सी को https://repository.jboss.org/nexus/content/repositories/releases/ पर बदल दिया, मेरे स्थानीय भंडार को हटा दिया, और निर्माण करने में सक्षम था। – Greg

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