क्या हम मावेन बिल्ड को उस बिंदु से शुरू कर सकते हैं जहां यह विफल हो गया


89

मान लीजिए, मैं अपने बड़े प्रोजेक्ट पर एक पूर्ण निर्माण कर रहा हूं जिसमें 7 मॉड्यूल हैं और 6 वें मॉड्यूल पर, निर्माण विफल हो गया क्योंकि एक परीक्षण विफल हो गया। क्या कोई ऐसा तरीका है जिसके द्वारा मैं उस बिंदु से निर्माण शुरू कर सकता हूं जो यह विफल रहा?

जवाबों:


134

आप का उपयोग कर 6 मॉड्यूल से निर्माण शुरू कर सकते हैं -rfया --resume-from:

-rf, --resume-from
          निर्दिष्ट परियोजना से रिएक्टर को फिर से शुरू करें

देखें उन्नत रिएक्टर विकल्प जानकारी के लिए।


इसके लिए धन्यवाद। मैं इसे एक शॉट दूंगा
शेखर

1
यह अच्छा है, सब- subproject/subsubproject
सबप्रोजेक्ट्स के

13
उदाहरण:maven -rf <module name> clean install
ज़ोल्टन

9
यह केवल मेरे लिए काम करता है जब मैंने एक बृहदान्त्र के साथ मॉड्यूल का नाम तैयार किया, जैसे mvn -rf :moduleName install। (निश्चित रूप से यह नहीं बताया गया है कि बृहदान्त्र की आवश्यकता क्यों है, लेकिन ऐसा लगता है - कम से कम मेरे सेटअप के लिए।)
स्टीव चेम्बर्स

3
ऐसा लगता है कि यह केवल तभी काम करता है जब आपके प्रारंभिक निर्माण में एक installलक्ष्य था , क्योंकि फिर से शुरू होने वाले निर्माण से उन कलाकृतियों को प्राप्त किया जा सकता है जो पहले से ही आपके स्थानीय मावेन भंडार से उन पर निर्भरता को हल करने के लिए बनाए गए थे। मुझे installबिल्ड को चलाने के लिए यह खराब अभ्यास लगता है क्योंकि आप स्नैपशॉट के साथ अपने स्थानीय भंडार को अव्यवस्थित करते हैं और आप जो उम्मीद करते हैं उससे अधिक पुराने स्नैपशॉट के आधार पर समाप्त हो सकता है। बिल्ड के लिए ऐसा लगता है जहां आप केवल packageऔर केवल installउपयोग नहीं करते हैं , -rfयह विकल्प नहीं है: आपको संपूर्ण बिल्ड करना होगा।
Frans


9

आप -rfकमांड का उपयोग करके किसी भी मॉड्यूल से बिल्ड को फिर से शुरू कर सकते हैं । उदाहरण के लिए, यदि आपका निर्माण myproject- प्रॉक्सी में विफल रहा है, तो आप निम्न कमांड का उपयोग कर सकते हैं:

mvn -rf myproject-proxy clean install

मुझे यह काम करने के लिए एक कॉलन में डालने की आवश्यकता है जैसे -rf: yourModule अन्य उत्तर देखें।
Gapmeister66

8

मावेन सारांश को देखें और आप निष्पादित मॉड्यूल देखेंगे और जहां मावेन को रोक दिया जाता है। तो यह प्रयास करें:

mvn clean install-Dmaven.test.skip=true -rf :yourModule

-1

सिंटेक्स: mvan -rf modulename mavengoal या mvan --resume-modulename mavengoal से

Ex: mvn -rf एडमिन-मॉड्यूल क्लीन इनस्टॉल या mvn --resume- एडमिन-मॉड्यूल क्लीन इंस्टाल से


-rfके लिए कम नहीं है --remove-from। यह छोटा है--resume-from
गिली

-2

आप मॉड्यूल 6 के निर्माण को अलग-अलग चलाने के लिए देख सकते हैं कि क्या यह अभी भी विफल रहता है, लेकिन मुझे डर है कि आपको "बड़े" बिल्ड को चलाने के लिए शुरू से ही सभी मॉड्यूल बनाने की आवश्यकता है।

संपादित करें: बेशक बाद के बिल्ड तेजी से होंगे क्योंकि 1-5 मॉड्यूल के कोड पहले से ही संकलित हैं, जब तक कि आप अपने बिल्ड के हिस्से के रूप में साफ नहीं चलाते हैं।


हाँ .. मैं यह जानता हूँ .. लेकिन मैं इसे विफल करने के बिंदु से निर्माण शुरू करने का एक रास्ता ढूंढ रहा था ..
शेखर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.