2013-08-11 8 views
16

मैवेन केंद्रीय भंडार से मेवेन इंडेक्स लाने के लिए मैवेन इंडेक्सर का उपयोग कर रहा हूं। चूंकि मैंने org.sonatype.aether से org.eclipse.aether और maven 3.0.5 से maven 3.1.0 तक अद्यतन किया है, इसलिए मुझे यह अपवाद मिल रहा है।java.lang.ClassNotFoundException: org.sonatype.aether.version.InvalidVersionSpecificationException

Caused by: java.lang.ClassNotFoundException: org.sonatype.aether.version.InvalidVersionSpecificationException 
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50) 
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244) 
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230) 

Maven मुझसे कहता है कि मैं इस पेज की जांच करनी चाहिए: http://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFound। वह किया। लेकिन पेज पर वे सिर्फ इतना कहते हैं कि वे इस समस्या से अवगत हैं और उन्होंने मैवेन 3.1.0 के साथ चलाने के लिए कुछ मेवेन प्लगइन्स अपडेट किए हैं। लेकिन वे यह नहीं कहते कि समस्या क्या है और इसे कैसे हल किया जाए। यह बहुत उपयोगी नहीं है। मैवेन 3.1.0 के साथ अपना खुद का प्लगइन काम करने के लिए मुझे क्या बदलना है ???

मैं दोगुना साथ मेरी निर्भरता जाँच:

mvn dependency:tree 

और ऐसा लगता है कि वर्ष org.sonatype.aether.aether-api.jar परियोजना है, जो अपवाद होता है में अब भी है। तो मूल रूप से org.sonatype.aether.version.InvalidVersionSpecificationException मेरी प्रोजेक्ट का हिस्सा है। तो मुझे यह अपवाद क्यों मिलता है ??

उत्तर

18

मैवेन-निर्भरता-प्लगइन के बाद के संस्करण का उपयोग करें।

<plugin> 
    <artifactId>maven-dependency-plugin</artifactId> 
    <version>2.8</version> 
    .... your configuration here .... 
</plugin> 
+3

पर उपलब्ध है यह मेरे लिए काम नहीं करता - समस्या 2.8 के साथ हो सकती है। लेकिन मेरे मामले में, 2.0 से 2.1 तक मेवेन-शेड-प्लगइन को अपग्रेड करना चाल था। क्यूं कर? मुझे कोई सुराग नहीं है। लेकिन किसी भी तरह से इस मुद्दे के आसपास काम किया। – StaxMan

+0

@ निको किसी भी तरह से मेरे लिए समस्या का समाधान नहीं करता है। मैंने मैवेन-शेड-प्लगइन के मैवेन-निर्भरता-प्लगइन और संस्करण 2.1 के संस्करण 2.8 को लागू किया। एक एमवीएन साफ ​​स्थापित किया था, लेकिन अभी भी एक ही त्रुटि। –

8

यह त्रुटि Sonatype Aether से Maven 3.1-अल्फा -1 प्रवास के कारण होता है Aether है, जो कुछ प्लग-इन के लिए एक असंगत परिवर्तन है ग्रहण करने के लिए।

इस परिवर्तन का समर्थन करने के लिए, प्रभावित प्लगइन के नए संस्करण प्रकाशित किए गए हैं जो मेवेन 3.0.x और 3.1.x दोनों के साथ काम करते हैं। प्रभावित प्लग-इन और उनके न्यूनतम आवश्यक संस्करण की एक सूची https://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFound

+1

मुझे आश्चर्य है कि क्यों यह एक प्रमुख संस्करण संख्या को टक्कर नहीं पहुंचा, अगर यह एक तोड़ने वाला परिवर्तन है। लोगों को अर्थपूर्ण संस्करण के बारे में अधिक ध्यान देना चाहिए। –

+0

सरल शब्दों में, आप '3.0.5' के बजाय मेवेन' 3.2.5' के साथ चलने की अनुशंसा करते हैं (उदाहरण के लिए इंटेलिज के साथ बंडल किया गया है) – vikingsteve

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