2008-09-24 12 views
6

जब मैं "mvn install" कमांड लॉन्च करता हूं, तो मैवेन कभी-कभी उन निर्भरताओं को डाउनलोड करने का प्रयास करता है जो इसे पहले ही डाउनलोड कर चुके हैं। यह स्नैपशॉट के लिए अपेक्षित है लेकिन मैवेन अन्य जारों के लिए ऐसा क्यों करता है?मैवेन 2 मेरे पास पहले से निर्भर निर्भरताओं को डाउनलोड करने का प्रयास क्यों करता है?

मुझे पता है कि मैं "-o" ध्वज से उस व्यवहार से बच सकता हूं लेकिन मुझे आश्चर्य है कि कारण क्या है।

उत्तर

9

मैं उन निर्भरताओं की तलाश करता हूं जिनके पास एक निर्दिष्ट संस्करण संख्या नहीं है। मेवेन समय-समय पर यह सुनिश्चित करने के लिए जांच करेगा कि इसमें इन कलाकृतियों का सबसे अद्यतित संस्करण है।

+0

यह प्लगइन के अपडेट भी हो सकता है ताकि उन पर संस्करण निर्दिष्ट करने से भी मदद मिल सके। –

+0

हाँ ... मुझे लगता है कि मैं सामान्य रूप से उन्हें "निर्भरताओं" में शामिल करता हूं। आपको यह भी महसूस करना होगा कि जीवन चक्र चरण अक्सर विशिष्ट प्लगइन से बंधे होते हैं। वास्तव में उनके कंपाइलर प्लगइन के लिए संस्करण संख्या निर्दिष्ट करता है? –

+1

निर्भरता _must_ एक संस्करण निर्दिष्ट है। प्लगइन्स नहीं करते हैं, लेकिन आपको चाहिए। यहां बताया गया है: http://www.sonatype.com/people/2008/04/maven-209-released/ –

3

शायद यह नहीं है कि आप क्या देख रहे हैं, लेकिन अतीत में मुझे अपने स्थानीय भंडार में कलाकृतियों को मैन्युअल रूप से स्थापित करना पड़ा था और यदि आप -Dgenerate.pom = true विकल्प को शामिल करना भूल गए हैं तो इसमें कोई पोम नहीं होगा उस आर्टिफैक्ट और मेवेन के लिए रेपो प्रत्येक निर्माण पर उस पोम को डाउनलोड करने का प्रयास करने के लिए केंद्रीय (और आपके द्वारा कॉन्फ़िगर किए गए किसी अन्य रिमोट रिपोज़) पर जायेगा।

2

जबकि हम इस विषय पर हैं, मैं मैवेन 2.0.x में एक बड़ी बग में चला गया हूं। ऑफ़लाइन मोड में, मैवेन अभी भी नवीनतम स्नैपशॉट डाउनलोड करने का प्रयास करेगा, और जब यह आपके स्नैपशॉट रेपो को नहीं ढूंढ पाता है, तो यह बिल्ड विफल हो जाता है। कल्पना कीजिए कि जब ग्राहक के साथ साइट पर ऐसा होता है और आपको केवल एक छोटा बदलाव करने की आवश्यकता होती है (लेकिन मैं digress) की आवश्यकता होती है। यहाँ http://jira.codehaus.org/browse/MNG-2433 एक समाधान है::

यहाँ बग है http://mail-archives.apache.org/mod_mbox/maven-users/200601.mbox/%[email protected]%3E

+0

यह 2.0.10 में तय किया गया था: http://jlorenzen.blogspot.com/2009/04/better- ऑफ़लाइन-क्षमताओं-साथ-maven.html –

+0

वास्तव में मेरे अनुभव में Maven 2.0.x इतनी बग से भरा था कि मैंने सोचा कि यह बिल्कुल उपयोग करने योग्य नहीं है। मुझे बिल्कुल याद नहीं है कि यह 2.1.x या 2.2.x था, लेकिन यह निश्चित रूप से ** पोस्ट 2.0 ** संस्करण था जिसने मुझे पहले स्वीकार किया था तो मैवेन के साथ प्यार में गिर गया – gnat

0

-ओ झंडा अभी भी मेरे लिए काम नहीं कर रहा था, लेकिन ऐसा किया:

find ~/.m2/repository -name '_maven*' | xargs rm 
find ~/.m2/repository -name '*lastUpdated' | xargs rm 

कौन सा हट जाएंगे। आपके स्थानीय रेपो में lastUpdated और _maven.repositories फ़ाइलें। मैं इस मुद्दे में भाग गया क्योंकि हमारे पास एक कॉर्पोरेट नेक्सस रेपो है जो पहुंच योग्य नहीं था, और मुझे कुछ काम करने की ज़रूरत थी। ग्रहण के मैवेन एकीकरण का उपयोग करने से इसमें भी योगदान हो सकता है।

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

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