2010-04-06 16 views
11

मेरा मेवेन मॉड्यूल ए अन्य लोगों द्वारा प्रदान किए गए एक अन्य मेवेन मॉड्यूल बी पर निर्भरता है। जब मैं पहली बार ए के तहत "एमवीएन इंस्टॉल" चलाता हूं, तो मैवेन रिमोट रिपोजिटरी से मेरे स्थानीय मैवेन रिपोजिटरी में बी-1.0.jar डाउनलोड करता है। मेरा मॉड्यूल ए ठीक बनाता है।रिमोट रिपोजिटरी से नए कलाकृतियों के साथ मेवेन स्थानीय भंडार को कैसे अपडेट करें?

इसी समय, अन्य लोग रिमोट रिपोजिटरी में नए बी-1.0.jar को तैनात कर रहे हैं। जब मैं एक बार फिर से "एमवीएन इंस्टॉल" चलाता हूं, तो मैवेन रिमोट रिपोजिटरी से मेरे स्थानीय भंडार में नया बी-1.0.jar डाउनलोड नहीं करता है। नतीजतन, मेरा मॉड्यूल ए बिल्ड बी-1.0.jar में एपीआई परिवर्तनों के कारण विफल रहता है।

मैं अपने स्थानीय भंडार से मैन्युअल रूप से B-1.0.jar हटा सकता हूं। फिर अगली बार जब मैं "एमवीएन इंस्टॉल" चलाता हूं तो मैवेन रिमोट रिपोजिटरी से नवीनतम बी-1.0.जर डाउनलोड करेगा।

मेरा सवाल यह है कि मैं स्वचालित रूप से एक दूरस्थ भंडार से नवीनतम कलाकृतियों को कैसे डाउनलोड कर सकता हूं। मैंने अद्यतन हमेशा "हमेशा" को अद्यतन करने की कोशिश की। लेकिन उसने चाल नहीं की।

उत्तर

27

मैवेन रिलीज को फिर से डाउनलोड नहीं करता - 1.0 को अंतिम माना जाता है और नई रिलीज को एक नए संस्करण का उपयोग करना चाहिए।

यदि मॉड्यूल बी अभी भी विकास में है, तो आपको संस्करण 1.0-स्नैपशॉट का उपयोग करना चाहिए - स्नैपशॉट्स एक विशेष मेवेन संस्करण है जो अद्यतनों की जांच करेगा, और जब तैनाती टाइमस्टैम्प के साथ संग्रहीत की जाती है और ट्रैकिंग के लिए संख्या का निर्माण किया जाता है।

+1

यह बहुत उपयोगी है। स्नैपशॉट सिर्फ इस उद्देश्य के लिए है। – Richard

+0

उत्तर के लिए धन्यवाद ब्रेट :) – pranay

2

मैं ऊपर ब्रेट से सहमत हूं: नए रिलीज को नए संस्करणों का उपयोग करना चाहिए। आपके मामले के लिए, स्नैपशॉट शायद सबसे अच्छा समाधान है लेकिन कुछ और भी उपयोगी हो सकता है dependency version ranges का उपयोग करना।

इस प्रकार आप करते हुए कहा कि आप किसी भी संस्करण 1.0 की तुलना में अधिक स्वीकार
(1.0,)
का एक संस्करण निर्दिष्ट कर सकते हैं।
या
[1.1.1,1.1.7]
संस्करण 1.1.1 और 1.1.7 के बीच कुछ भी स्वीकार कर रहा है।
अंकन मानक गणित अंतराल वाक्य रचना इस प्रकार जहां

[= अंतराल में शामिल किए जाने
(= अंतराल से छोड़े जाने

(स्कूल में, मैं हमेशा वर्ग कोष्ठक के रूप में "पकड़" में उस तत्व सोचा , जबकि नरम ब्रांडेसिस "इसे जाने दें")

यह उन मामलों में सहायक हो सकता है जहां आपकी निर्भरताएं अभी भी लगातार विकास में हैं और आप नए स्नैपशॉट्स पर भरोसा नहीं करना चाहते हैं जो कम स्थिर हो सकते हैं और ब्रेक होने की संभावना अधिक हो सकती है आपका कोड। आप सुरक्षित श्रेणियां निर्दिष्ट कर सकते हैं और सीमाओं को ऊपर या नीचे समायोजित कर सकते हैं उपयुक्त, समय के साथ

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