2011-01-04 15 views
14

हम अपने आईडीई के लिए इंटेलिजे के साथ मेवेन 3 का उपयोग कर रहे हैं। एक संकलन के बाद हमें बाहरी पुस्तकालयों में वसंत 2.0 सामानों का एक समूह मिल रहा है। अगर मैं इंटेलिज में मेवेन प्रोजेक्ट निर्भरता को देखता हूं तो मुझे वसंत 2.0 पर निर्भरता वाले किसी को भी नहीं दिखता है, इसलिए मुझे संदेह है कि यह ऐसा कुछ है जिस पर हम निर्भर हैं जिस पर निर्भर करता है।मैवेन द्वारा एक जार क्यों शामिल किया गया यह पता लगाने के लिए कैसे?

मेरा सवाल यह है कि मैं इसे कैसे ट्रैक करूं? मैंने mvn dependency:tree -Dverbose -Dincludes=spring-aop और यहां तक ​​कि -Dincludes=spring करने का प्रयास किया लेकिन रूट या एक उप मॉड्यूल निर्देशिका से भागने पर कोई परिणाम नहीं मिला जो मुझे पता है वसंत का उपयोग कर रहा है।

उत्तर

12

ऐसा लगता है कि -Dincludes पर पारित पैटर्न गलत है।

Maven Dependency Plugin के प्रलेखन से, -Dincludes की वाक्य रचना StrictPatternIncludesArtifactFilter द्वारा परिभाषित किया गया है। AbstractStrictPatternArtifactFilter की जावाडोक जहाँ से इस subclassed है, से

विरूपण साक्ष्य पैटर्न वाक्य रचना फार्म की है:

[groupId]:[artifactId]:[type]:[version]

कहाँ प्रत्येक पैटर्न खंड वैकल्पिक है और पूर्ण और आंशिक * वाइल्डकार्ड का समर्थन करता है । एक खाली पैटर्न सेगमेंट को एक अंतर्निहित वाइल्डकार्ड के रूप में माना जाता है।

उदाहरण के लिए, org.apache.* सभी कलाकृतियों जिसका समूह आईडी org.apache. के साथ शुरू से मेल खाएंगे, और :::*-SNAPSHOT सभी स्नैपशॉट कलाकृतियों से मेल खाएगा।

शायद तुम -Dincludes बिना mvn dependency:tree चलाने के लिए और देखें कि क्या वह वसंत 2.0 संबंधित निर्भरता दिखाई देता है चाहिए। वैकल्पिक रूप से, -Dincludes के लिए उपयुक्त पैटर्न निर्दिष्ट करें।

9

जो प्रारूप आप खोज रहे हैं वह गलत है।

(artifactId org.springframework के साथ किसी भी विरूपण साक्ष्य के लिए खोजें)

mvn dependency:tree -Dverbose -Dincludes=org.springframework 

:

या यह (है कि वसंत के साथ शुरू होता एक ग्रुप के साथ किसी भी विरूपण साक्ष्य के लिए खोजें)

mvn dependency:tree -Dverbose -Dincludes=:spring*:: 

: इस प्रयास करें

+0

मैंने उपर्युक्त आदेश के साथ प्रयास किया, यह समझने के लिए कि एक विशिष्ट जार क्यों शामिल है। हालांकि, उपरोक्त मेवेन कमांड निष्पादित कर रहा है और कह रहा है कि निर्माण एक सफलता है, लेकिन निर्भरता के बारे में कोई जानकारी नहीं है। – Mahiz

3

इंटेलिज का उपयोग क्यों न करें और इसे आसानी से ठीक करें। अपना pom.xml खोलें, राइट-क्लिक करें (संदर्भ मेनू का आह्वान करें) और यूएमएल> शो निर्भरता चुनें (मान लें कि आपके पास यूएमएल प्लगइन सक्षम है)। आइडिया सभी डुप्लिकेट निर्भरता को चिह्नित करेगा और आप निर्भरताओं को बाहर करने के लिए ALT + Enter combo का उपयोग कर सकते हैं। @see भी: http://blogs.jetbrains.com/idea/2010/05/maven-dependencies-diagram/

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

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