2013-03-28 9 views
17

अपडेट करने के लिए मेवेन को कैसे बल देना है, मैंने एक प्रोजेक्ट में एक जार फ़ाइल संकलित की है ताकि इसे दूसरे में उपभोग किया जा सके। मैं .m2 फ़ोल्डर में जार फ़ाइल देख सकता हूं। लेकिन दूसरी परियोजना में यह आर्टिफैक्ट के बारे में शिकायत नहीं करता है। मुझे लगता है कि मुझे इंडेक्स/कैश को अपडेट करने के लिए मेवेन को मजबूर करना है, लेकिन यह नहीं पता कि वास्तव में क्या है। कोई सुझाव, धन्यवाद।स्थानीय रेपो

अद्यतन: सभी अच्छे सुझावों के लिए धन्यवाद। यह पता चला है कि दूसरी परियोजना में मेवेन प्लगइन (इंटेलिजे का) इसकी अनुक्रमणिका अपडेट नहीं करता है। मैं आदेश संकलित ठीक से संकलित लाइन का उपयोग करें।

+0

इस प्रश्न को और अधिक जानकारी की आवश्यकता है। क्या आप अपनी परियोजनाओं के अपने पोम्स का प्रासंगिक हिस्सा दिखा सकते हैं, समझा सकते हैं कि आपने एक जार फ़ाइल कैसे संकलित की है, यह आपको .m2 dir में कैसे मिला? क्या आपने 'mvn install' का उपयोग किया था? – sbk

उत्तर

7

है ।

  1. आप ठीक से अपने स्थानीय भंडार में पहले विरूपण साक्ष्य स्थापित किया है:

    होना सुनिश्चित करें। बस फ़ाइल को .m2 पर कॉपी करने की उम्मीद के अनुसार काम नहीं कर सकता है। सुनिश्चित करें कि आप इसे mvn install

  2. द्वारा स्थापित करें, दूसरी परियोजना में निर्भरता सही ढंग से सेटअप की गई है। groupId/artifactId/version, या बेजोड़ आर्टिफैक्ट type/classifier में किसी भी टाइपो पर जांचें।

38

का उपयोग करके देखें -U (उर्फ ​​--update-snapshots) जब आप Maven

चलाने के लिए और सुनिश्चित करें कि निर्भरता परिभाषा आप स्थानीय भंडार में स्थापित कर रहे हैं, तो कोई विशेष सूचकांक/कैश अद्यतन की आवश्यकता है सही

+0

-U केवल रिमोट रेपो से स्नैपशॉट अपडेट करने के लिए है। यह देखते हुए कि ओपी स्वयं जेएआर को संकलित करने के बारे में बात कर रहा है, और स्नैपशॉट के बारे में उल्लेख नहीं किया है, मुझे संदेह है कि यह जवाब उचित है या नहीं। –

+1

ठीक है, ठीक है, आधा जवाब अनुचित है। दूसरा आधा तुम्हारा आधा है जैसा कि – EdH

+0

या तो अधिक संभावना है! ;) मुझे उस पर अधिक स्पष्ट रूप से होना चाहिए: पी –

4

हालांकि इस एक पुराने सवाल है, मैं इस मुद्दे पर कई बार ठोकर खाई किया है 'और अब तक पता लगा कभी नहीं इसे ठीक करने के लिए कैसे। अद्यतन मैवेन इंडेक्स इंटेलिजे द्वारा बनाई गई एक शब्द है, और यदि यह पहली परियोजना को संकलित करने के बाद भी काम नहीं करता है, तो संभावना है कि आप 2 अलग-अलग मेवेन इंस्टॉलेशन का उपयोग कर रहे हैं।

प्रेस CTRL + शिफ्ट + एक क्रियाएँ मेनू को खोलने के लिए। Maven टाइप करें और मेवेन सेटिंग्स पर जाएं। होम निर्देशिका चेक के रूप में आप कमांड लाइन

+3

सभी निर्भरताओं को डाउनलोड करने के लिए इंटेलिजे को मजबूर करने के लिए 'सभी मावेन परियोजनाओं को पुनर्मुद्रण' पर क्लिक करें। –

3

तुम भी कमांड लाइन पर इस आदेश का उपयोग कर सकते हैं के माध्यम से उपयोग करने के लिए एक ही Maven उपयोग करने के लिए:

mvn dependency:purge-local-repository clean install 
+0

यह आदेश क्या करता है? – zygimantus

+1

https://maven.apache.org/plugins/maven- निर्भरता-plugin/purge-local-repository-mojo.html – eyupaksu

0

आप एक साइट पर प्रमाणीकरण के साथ संघर्ष कर रहे हैं, तो और मेवेन परिणामों को कैश कर रहा है, मेटा-डेटा स्टैश से साइट के बारे में मेटा-डेटा को हटाकर मैवेन को साइट पर फिर से जाने के लिए मजबूर कर देगा।

gvim <local-git-repository>/commons-codec/resolver-status.properties 
0

सेटिंग्स पर क्लिक करें और "रेपॉजिटरीज़" के लिए खोजें, फिर स्थानीय रेपो का चयन करें और "अपडेट करें" पर क्लिक करें। बस इतना ही। यह क्रिया मेरी ज़रूरत को पूरा करती है।

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