2011-11-07 19 views
16

के बीच संबंध मुझे कुछ मेवेन अवधारणाओं पर "पेड़ों के माध्यम से जंगल" को देखने में कठिन समय हो रहा है। मैं समझता हूं कि मैवेन तथाकथित तथाकथित "बिल्ड लाइफसाइकिल चरण" के साथ पूर्व-कॉन्फ़िगर किया गया है जो validate, और test से शुरू होता है और deploy के साथ समाप्त होता है।मेवेन: लाइफसाइकिल चरण और लक्ष्य

मैं चींटी से मेवेन में आ रहा हूं जहां आपने लक्ष्य में प्रमुख निर्माण चरणों का आयोजन किया है (जो एक रैखिक फैशन में अन्य लक्ष्यों पर निर्भर हो सकता है), और फिर आप अपने लक्ष्य को प्रक्रियात्मक कार्यों में विघटित करते हैं। मेवेन इसका समर्थन करता है लेकिन लक्ष्यों के रूप में।

मेरा प्रश्न (चूंकि मुझे लक्ष्य और कार्यों के संदर्भ में इमारत के बारे में सोचने के लिए उपयोग किया जाता है) यह है: इन जीवन चक्र चरणों (package, verify इत्यादि) कैसे लक्ष्यों से संबंधित हैं? क्या किसी को कॉन्फ़िगर करने की आवश्यकता है कि कौन से चरण किस चरण में चलने के लिए हैं, या यह किसी भी तरह से स्वर्ग द्वारा स्वचालित रूप से किया जाता है?

या, क्या लक्ष्य पूर्व निर्धारित हैं कि वे किस चरण में हैं?

मैं सिर्फ यह नहीं देख रहा हूं कि एक कस्टम निर्माण बनाने के लिए लक्ष्य कैसे आदेश देता है जो उनके या उनके संगठन के लिए काम करता है।

किसी भी स्पष्टता के लिए अग्रिम धन्यवाद!

+0

सी [मेरा उत्तर] (http://stackoverflow.com/a/30953905/1744774) _Maven रहे हैं: लाइफसाइक्ल बनाम चरण बनाम प्लगइन बनाम गोल_ नामित इकाइयों के बारे में क्या है। –

उत्तर

11

कई मेवेन प्लगइन्स विशिष्ट लक्ष्य (मोोजो) को एक विशिष्ट जीवन चक्र चरण में बांधते हैं।

उदा। documentation of maven-jar-plugin:jar goal के लिए देखो। इसे कहते हैं:

जीवन चक्र चरण के लिए डिफ़ॉल्ट रूप से बांध: पैकेज।

इसके अलावा, जीवन चक्र स्वयं ही निर्दिष्ट करता है कि प्रत्येक चरण के लिए कौन से टूल्स चलाने की आवश्यकता है। डिफ़ॉल्ट पैकेजिंग प्रकारों के लिए इन उपकरणों को मेवेन द्वारा पूर्वनिर्धारित किया गया है और यहां बताया गया है ->http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Built-in_Lifecycle_Bindings

लेकिन यह उदाहरण दिखाता है कि पूरी तरह से कस्टम जीवन चक्र बाध्यकारी कैसे बनाएं ->http://www.sonatype.com/people/2009/08/create-a-customized-build-process-in-maven/। जैसा कि आप देख सकते हैं कि आप प्लगइन लक्ष्यों के किसी भी संयोजन को एक विशिष्ट जीवन चक्र चरण में बांध सकते हैं।

अंतिम, लेकिन कम से कम नहीं, आप अपने पोम फ़ाइल के build/plugins तत्व के माध्यम से मैन्युअल रूप से प्लगइन निष्पादन जोड़ सकते हैं। यदि आप ऐसा करते हैं तो विशिष्ट चरणों में प्लगइन्स एक फीफो ऑर्डर में निष्पादित होंगे।

इसके अलावा, यह आपको इन सभी डिफ़ॉल्टों के साथ Effective POM देखने में मदद कर सकता है। कई आईडीई के प्रस्ताव Maven परियोजनाओं के लिए इस विकल्प है, लेकिन आप भी कमांड लाइन से प्रभावी पोम देख सकते हैं:

mvn help:effective-pom 
+0

उत्तर और सहायक लिंक के लिए आपको बहुत बहुत धन्यवाद! – IAmYourFaja

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