2011-01-28 12 views
18

एक परियोजना के package चरण पैकेजिंग war साथ, अंतिम war -file में target फ़ोल्डर और संकुल इस में एक विस्फोट युद्ध तैयार करता है।निष्पादन बिंदु का निर्माण-प्रक्रिया

क्या prepare-package और package चरणों के बीच कुछ बदलाव करना, फ़ाइलों को संपादित करना, और अन्य फ़ाइलों को बनाना संभव है? मैं एक विस्तार बिंदु खोज रहा हूं (मेवेन execution-phase) जहां संसाधन पहले से ही कॉपी किए गए हैं और विस्फोट-युद्ध संरचना में हैं।

  1. [Maven चरण] कॉपी संसाधनों और target/{finalName} को विस्फोट।
  2. [कस्टम] कुछ जटिल कस्टम परिवर्तन करें (उदाहरण के लिए maven-antrun के साथ लागू)।
  3. [मेवेन चरण] बदले गए सामान को अंतिम war में पैकेज करें।

मुझे लगा कि यह चरणों prepare-package और package के बीच संभव हो सकता है। दुर्भाग्यवश prepare-package के बाद कोई विस्फोटित युद्ध बदला जा सकता है और बाद में पैक किया जा सकता है।

क्या आप मुझे यह संकेत प्राप्त कर सकते हैं कि इसे कैसे प्राप्त किया जाए? आपका बहुत बहुत धन्यवाद।

+0

मैवेन युद्ध प्लगइन फ़ाइलें बहिष्कृत कर सकते हैं और उन्हें फ़िल्टर भी कर सकते हैं। शायद आपकी जरूरतें अधिक जटिल हैं? – Raghuram

+0

जरूरतें अधिक जटिल हैं, हां। मैं इस सुविधा का उपयोग नहीं कर सकता, यह पर्याप्त शक्तिशाली नहीं है। – codevour

+0

आपको थोड़ा और समझाना होगा कि आपके [कस्टम] परिवर्तन क्या हैं। वे क्या हैं इस पर निर्भर करते हुए हमें आपकी समस्या के विभिन्न समाधान मिल सकते हैं। – SaM

उत्तर

15

यह कॉन्फ़िगरेशन prepare-package चरण में exploded लक्ष्य को कॉल करता है। यह आपको बाद की प्लगइन परिभाषाओं में विस्फोटित युद्ध निर्देशिका पर काम करने का मौका देता है। maven-antrun

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.1.1</version> 
    <executions> 
    <execution> 
     <id>prepare-war</id> 
     <phase>prepare-package</phase> 
     <goals> 
     <goal>exploded</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 
+0

क्षमा करें, मैंने उसमें गहरी खुदाई नहीं की, मैंने अंततः अपने स्वयं के युद्ध पैकेजर MOJO (अपना खुद का मेवेन प्लगइन लिखा) लागू किया और इसके लिए जीवन चक्र को फिर से लिखा। – codevour

+1

तैयारी-युद्ध के कार्य के बाद आपको मेवेन-एंट्रन कैसे निष्पादित किया गया? मैं exec प्लगइन का उपयोग कर रहा हूं और यह पहले निष्पादित करता रहता है। – HaxElit

+1

यह प्रारंभ में काम करता है, लेकिन विस्फोटित युद्ध निर्देशिका में किए गए परिवर्तन ओवरराइट किए गए हैं क्योंकि मैवेन-वॉर-प्लगइन दूसरी बार चलता है। यह युद्ध फ़ाइल को पैकेज करने से पहले मूल फ़ाइलों के साथ विस्फोटित युद्ध निर्देशिका को दोबारा शुरू करता है।वैसे भी इसे कॉन्फ़िगर करने के लिए, दूसरी बार यह चलने पर, मैवेन-वॉर-प्लगइन केवल विस्फोटित युद्ध को युद्ध फ़ाइल में पैकेज करेगा? – Nathan

1

यह मुझे लगता है कि आपको तैयार पैकेज चरण में एंट्रन कार्य को बांधना चाहिए, क्योंकि इस समय संसाधनों को संसाधित किया जा चुका है Lifecycle Reference

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