Intellij IDEA सभी मावेन निर्भरता को फिर से भरने के लिए मजबूर करें


297

इंटेलीज विचार को पोम फ़ाइल में निर्दिष्ट सभी निर्भरता को फिर से पढ़ने / अद्यतन करने के लिए कैसे मजबूर किया जाए?

जवाबों:


354

प्रेस Ctrl+ Shift+Aकार्यों को खोजने के लिए और "reimport" इनपुट करें, आपको "Reimport All Maven Projects" मिलेगा।

Mac पर, इसके बजाय + + का Aउपयोग करें।


1
कहते हैं कि मेरे पास 5 मॉड्यूल हैं, उनमें से सभी मावेन आधारित हैं, एक ही परियोजना में और मैं यह करता हूं। क्या यह कमांड सभी मॉड्यूल पर लागू होता है, बस चयनित एक या प्रोजेक्ट में पहला ऐसा है जब यह चलता है?
22

क्या यह बदल गया है? मैं नहीं एक पुन: आयात करें Maven में 2017.1 पर देख पा रहे हैं
Winnemucca

1
@Winnemucca मैंने अभी 2017.2 को किया था। इसके खत्म होने का इंतजार है।
mrClean

1
मुझे ऐसा करने के लिए मावेन प्लगइन को सक्षम करना पड़ा।
कोडफ्रीक

1
@Winnemucca आप पोम पर राइट क्लिक कर सकते हैं, ड्रॉप डाउन में मावेन पर जा सकते हैं, और रीमपोर्ट चुन सकते हैं।
जोंस-क्रिस 6

125

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

आपको क्या लगता है कि यह सही तरीके से काम नहीं कर रहा है? शायद निर्भरता में से कोई भी भंडार से लोड नहीं किया जा सकता है?


1
हमारे पास ऑन-गोइंग विकास के लिए एक गैर-स्नैपशॉट संस्करण का उपयोग करने की एक टूटी हुई आदत है, और क्रॉस-प्रोजेक्ट निर्भरताएं कभी-कभी विफल हो जाती हैं।
kubek2k

1
मुझे डर है कि यह समस्या मावेन पर निर्भर करती है। मावेन केवल स्नैपशॉट्स के अपडेट के लिए जाँच करता है। प्रति परिभाषा के अनुसार, गैर-स्नैपशॉट संस्करण कभी भी नहीं बदलेंगे इसलिए मावेन को स्थानीय रिपॉजिटरी की तुलना में नए संस्करणों की जांच करने की आवश्यकता नहीं है। मावेन के आह्वान से पहले स्थानीय भंडार से पुस्तकालय को हटाने के लिए एक (काफी अशिष्ट) समाधान होगा। फिर उसे लाइब्रेरी को फिर से लोड करना होगा।
मागोमी

9
ऐसा प्रतीत होता है कि reimport सभी बलों को -U झंडा है जो मुझे चाहिए था :)
kubek2k

मैं मूल परियोजना को राइट-क्लिक कर रहा था और मावेन -> रिइम्पोर्ट कर रहा था और उम्मीद करता था कि यह सभी बच्चों की निर्भरता को अपडेट करेगा, लेकिन ऐसा नहीं हुआ। समाधान के लिए धन्यवाद!
बॉटनकियाक

6
"मावेन प्रोजेक्ट्स" टैब / विंडो देखने के लिए> टूल विंडोज> मावेन प्रोजेक्ट्स देखने के लिए
केविन व्हीलर

64

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

परिवर्तित निर्भरता के लिए जाँच सक्षम करने के लिए हालांकि संस्करण संख्या "मावेन प्रोजेक्ट्स" टैब पर नहीं गई, "मावेन सेटिंग्स" चुनें और "हमेशा अपडेट स्नैपशॉट" को सक्रिय करें।


2
हा! एक जावा परियोजना में स्वचालित अपडेट ... मैं यह कहने जा रहा हूं कि यह हमेशा विजेता नहीं होता है ... और w / मावेन 3+
beauXjames

@beauXjames .. यह मेरे लिए काम नहीं किया, लेकिन मैं वास्तव में एक ही मुद्दे का सामना कर रहा हूँ। इसे कैसे हल किया जाए।
शतेश

1
मैं अक्सर स्थानीय रेपो ({उपयोगकर्ता} \ _ m2 \ ...) निर्देशिका में जाता हूं और उन लोगों को हटाता हूं जिन्हें मैं जानता हूं कि वे मेरी परियोजना से जुड़े हैं, फिर इंस्टॉल प्रक्रिया को बाहर जाने दें और उन्हें फिर से खरोंच से प्राप्त करें ताकि कोई संस्करण संघर्ष न हो
beauXjames

से help: "इस चेकबॉक्स का चयन करें, यदि आप चाहते हैं कि इंटेलीज आईडीईए सिंक पर स्नैपशॉट अपडेट करें।" दूसरे शब्दों में, यह पूरी तरह से स्वचालित नहीं है - आपको Synchronize(राइट-क्लिक मेनू में Ctrl-Alt-Y) या करना है , लेकिन इस विकल्प को सक्षम करने से यह अद्यतन SNAPSHOTसंस्करण को हथियाने का कारण बनता है । चेतावनी: इसमें अन्य सूक्ष्मताएं शामिल हो सकती हैं, जैसे Import Changes- यह मेरे लिए अब तक पूरी तरह से प्रतिलिपि प्रस्तुत करने योग्य नहीं है। शायद यह सब मेरी कल्पना में था - जो काम हमेशा लगता है वह एक पूर्ण है reimportजैसा कि अन्य उत्तरों में सुझाया गया है।
नोबार

36

इंटेलीज आईडिया के लिए 14.0

प्रोजेक्ट> [आपका प्रोजेक्ट नाम]> राइट क्लिक> मेवेन> रिइम्पोर्ट


17

यदि रीइम्पोर्ट काम नहीं करता है (यानी पोम अपडेट के बाद निर्भरता के पुराने संस्करणों को दूर नहीं करता है), तो एक और मौका है:

  • परियोजना सेटिंग्स खोलें (CTRL + SHIFT + ALT + S)
  • मॉड्यूल्स पर, उन सभी लिबास को हटाएं जिन्हें आप रीइम्पोर्ट करना चाहते हैं (जैसे डुप्लिकेट)
  • आईडीईए चेतावनी देगा कि कुछ अभी भी उपयोग किए जाते हैं, पुष्टि करते हैं
  • लागू करें और ठीक चुनें
  • फिर सभी मावेन परियोजनाओं को फिर से शुरू करें

16

नीचे दिया गया सबसे बाईं ओर का बटन (नीला चक्र) भी सभी मावेन परियोजनाओं को फिर से लागू करता है:

यहां छवि विवरण दर्ज करें


9

यह आदेश चलाएँ mvn -U clean install


3
जबकि यह एक समाधान है, इसे सीएलआई से किया जाना चाहिए। यह सवाल आईडीईए के अंदर से करने के बारे में है।
टेलोंक्स

IDE पर, आप एक मावेन गोल को अंजाम दे सकते हैं और अपने CLI या टर्मिनल को खोले बिना ऊपर दिए गए कमांड का उपयोग कर सकते हैं
Babajide Apata

2
इस प्रकार के विचार IDEA में मावेन एकीकरण होने के उद्देश्य को पराजित करते हैं।
टैलोनक्स

1
हम -U विकल्प के बारे में बात कर रहे हैं, जो आईडीईए में मौजूद नहीं है। "Reimport" विकल्प ऐसा लगता है जैसे यह है, लेकिन यह नहीं है।
टैलोनक्स

1
मैं देखता हूं कि आप एक मावेन लक्ष्य को टाइप करने और निष्पादित करने की बात कर रहे हैं, जिस स्थिति में यह संभव है। हालाँकि, मैं सही ("मावेन प्रोजेक्ट्स") में अंतर्निहित मेनू में मौजूद नहीं होने की बात कर रहा था।
टैलोनक्स

3

मुझे एक समस्या थी जहां इंटेलीजे कक्षाओं को संकलित करने में असमर्थ था, यह दावा करते हुए कि परियोजनाओं के बीच निर्भरता गायब थी। इस सवाल के जवाब में सुझाव के अनुसार परियोजना को फिर से शुरू करना समस्या का हल नहीं था। मेरे लिए समाधान था:

  1. सभी प्रोजेक्ट्स को निकालें (प्रोजेक्ट टैब / रूट फ़ोल्डर पर राइट क्लिक / मावेन / प्रोजेक्ट्स को हटा दें);
  2. संपादक को बंद करें;
  3. कमांड लाइन पर मावेन के साथ सभी परियोजनाओं को संकलित करें;
  4. उसी प्रोजेक्ट पर संपादक को खोलें;
  5. फिर से मावेन करने के लिए प्रोजेक्ट्स जोड़ें (मावेन टैब / मावेन प्रोजेक्ट्स जोड़ें (हरा +) / रूट पोम चुनें);

चेतावनी: कुछ परियोजनाओं पर, आपको मावेन आयात के लिए अधिकतम मेमोरी बढ़ानी पड़ सकती है (मावेन टैब पर मावेन सेटिंग्स / आयातक के लिए आयात / वीएम विकल्प)।



0

यदि आप किसी निर्भरता के लिए संस्करण श्रेणियों का उपयोग कर रहे हैं, तो सुनिश्चित करें कि IntelliJ प्रोजेक्ट को आयात करने के लिए Maven 3 का उपयोग कर रहा है। आप में इस सेटिंग को पा सकते हैं: Settings > Maven > Importing > Use Maven3 to import project। अन्यथा आप पा सकते हैं कि स्नैपशॉट संस्करण सही ढंग से आयात नहीं किए गए हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.