2011-10-16 11 views
11

के साथ स्वत: भवन को रोकें हम ग्रहण के साथ मेवेन का उपयोग कर रहे हैं। हमारे पास एक बहु मॉड्यूल प्रोजेक्ट है, जो काफी बड़ा है।मैवेन/ग्रहण

ईक्लिस्पे-मेवेन एकीकरण स्वयं निर्भर करता है कि इमारत निर्भर मॉड्यूल पर प्रतिक्रिया कब करें, और यह दर्द हो रहा है।

मैंने स्वचालित भवन चालू कर दिया है लेकिन ऐसा कोई बदलाव नहीं लगता है।

कुछ क्रियाएं हैं जैसे: संसाधन को हटाना, या मॉड्यूल लॉन्च करना, जो किसी अन्य मॉड्यूल के निर्माण को ट्रिगर करेगा।

यह व्यवहार कैसे बदला जा सकता है? मैं आवश्यकतानुसार मैनवे को मैन्युअल रूप से कॉल करना पसंद करता हूं।

+0

क्या आप कस्टम बिल्डर्स का उपयोग कर रहे हैं? और किस प्रकार का मैवेन एकीकरण m2eclise, m2e, आदि? –

उत्तर

9

बस "स्वचालित रूप से बनाएं" अनचेक करने के बजाय शीर्ष बार में प्रोजेक्ट पर जाएं। यह परियोजना को ऑटो बिल्डिंग बंद कर देगा और आपके मूल्यवान समय को बचाएगा।

3

उस प्रोजेक्ट पर राइट-क्लिक करें जिसे आप स्वचालित मैवेन को अक्षम करने का प्रयास कर रहे हैं, "गुण" पर क्लिक करें, फिर बाएं हाथ नेविगेशन से "बिल्डर्स" पर क्लिक करें। वहां एक "मेवेन प्रोजेक्ट बिल्डर" होना चाहिए जिससे आप इसे अक्षम करने के लिए अनचेक कर सकें।

मुझे यकीन नहीं है कि यह वही है जो आप खोज रहे हैं। मैंने कभी भी इस तरह से वास्तव में संचालित नहीं किया है, इसलिए मैं आपके सामने आने वाले किसी भी दुष्प्रभाव से बात नहीं कर सकता - हालांकि ग्रहण आपको इस बारे में चेतावनी देता है: "यह एक उन्नत ऑपरेशन है। प्रोजेक्ट बिल्डर को अक्षम करने से कई पक्ष हो सकते हैं - प्रभाव। जारी रखें? "।

मान लें कि आपकी परियोजना किसी प्रकार के संस्करण नियंत्रण में है, सुनिश्चित करें कि केवल आपका pom.xml और आपकी ग्रहण नहीं है। प्रोजेक्ट फ़ाइल और न ही .settings फ़ोल्डर ऐसा करने से पहले स्रोत नियंत्रण में हैं। (यदि हां, तो सुनिश्चित करें कि उन्हें वापस न करें।) आपकी बाकी टीम शायद यह नहीं चाहती कि यह निर्माता पूरे समूह के लिए अक्षम हो। :-)

4

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

पास अनावश्यक परियोजनाओं आप अपनी परियोजनाओं के एक काम कर प्रति है जब प्रदर्शन एक

mvn clean install
यह अपने स्थानीय भंडार में सभी निर्भरता स्थापित हो जाएगा। एक बार ऐसा करने के बाद परियोजनाओं को बंद करें जिनकी आपको आवश्यकता नहीं है और केवल उन लोगों को खोलें जिन्हें आप काम कर रहे हैं। यह कार्यक्षेत्र की बजाय स्थानीय भंडार से परियोजनाओं को हल करने के लिए मेवेन को मजबूर करेगा। ऐसा करके यह निर्भरताओं के निर्माण को ट्रिगर नहीं करेगा।

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

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

उम्मीद है कि इससे मदद मिलती है।

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

  • कोई संबंधित समस्या नहीं^_^