हाल ही में मैं कुछ समय पहले विकसित परियोजना में कुछ सुधारों पर काम कर रहा हूं और यही मुझे मिला। पोम फाइलों में बहुत से निर्भरता निर्दिष्ट संस्करणों के बिना जाते हैं और फिर भी वे हल हो जाते हैं। परियोजना में 1 रूट मॉड्यूल और 2 submodules शामिल हैं। एग्रीगेटर पैटर्न का उपयोग किया जाता है, जिसका अर्थ है कि कोई निर्भरता प्रबंधन अनुभाग बिल्कुल नहीं है। ऊपरी-प्रोजेक्ट बस 2 मॉड्यूल को जोड़ता है और यह सब कुछ करता है। सबप्रोजेक्ट्स इसे माता-पिता के रूप में संदर्भित नहीं करते हैं। उनके पास एक अलग माता पिता है। जो मैं समझ नहीं पा रहा हूं वह यह है कि न तो सबप्रोजेक्ट स्वयं और न ही उनके माता-पिता (वास्तव में, इसमें निर्भरता नहीं है) या तो कुछ निर्भरताओं के लिए संस्करण निर्दिष्ट करें। उदाहरण के लिए:संस्करण के बिना मेवेन निर्भरता
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>imap</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
क्या कोई इसे समझने में मेरी सहायता कर सकता है? ऐसा लगता है कि कुछ डिफ़ॉल्ट रणनीति के साथ मैवेन हैंडल वर्जनिंग।
क्या आप सुनिश्चित करने के लिए 'mvn -version' आउटपुट दिखा सकते हैं? –
कलाकृतियों के संस्करणों को परिभाषित किए बिना मेवेन के लिए काम करना असंभव है। उन्हें या तो सबमिशन या माता-पिता में 'निर्भरता प्रबंधन' टैग में परिभाषित किया जाना चाहिए। कृपया अपने पोम पदानुक्रम की जांच करें। एमवीएन सहायता का प्रयोग करें: प्रभावी-पोम – Ozgen
क्या आपने 'mvn help: प्रभावी-pom -Doutput = result.xml' के माध्यम से चेक किया है और जांच करें कि कोई निर्भरता प्रबंधन नहीं है या नहीं। – khmarbaise