2011-03-02 10 views
10

में मैं एक किताब है कि तरीकों की व्याख्या करते Maven की 'डिफ़ॉल्ट' जीवन चक्र ओवरराइड करने के लिए के माध्यम से जा रहा था।ओवरराइड 'साफ़' जीवन चक्र Maven

इसे कहते हैं: एक पैकेजिंग प्रकार के लिए एक नया जीवन चक्र को परिभाषित करने के लिए, आप जाल में एक LifecycleMapping घटक कॉन्फ़िगर करने की आवश्यकता होगी। अपने प्लगइन परियोजना में, एक META-INF/जाल/src/मुख्य/संसाधनों के तहत components.xml पैदा करते हैं। components.xml में के रूप में नीचे दिखाया गया है सामग्री जोड़ने, और आप काम हो गया। नीचे दिए गए विन्यास के साथ, मैं 'जार' पैकेजिंग प्रकार के लिए डिफ़ॉल्ट जीवन चक्र अनुकूलित करने में सक्षम हूँ। अब मैं
$ mvn पैकेज exeute तो
वह निष्पादित 'पैकेज' चरण डिफ़ॉल्ट जीवन चक्र और 'Maven-जिप-प्लगइन' की कार्यान्वित 'गूंज' लक्ष्य के अन्य सभी चरणों लंघन दूर straigh।

<component-set> 
    <components> 
     <component> 
      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role> 
      <role-hint>zip</role-hint> 
      <implementation> 
       org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping 
      </implementation> 
      <configuration> 
       <phases> 
        <package>org.sonatype.mavenbook.plugins:maven-zip-plugin:echo 
        </package> 
       </phases> 
      </configuration> 
     </component> 
    </components> 
</component-set> 

मेरा प्रश्न है: मैं 'स्वच्छ' जीवन चक्र को कैसे अनुकूलित कर सकता हूं। उदाहरण के लिए, मान लेते हैं जब कुछ एक प्रकार
$ mvn स्वच्छ
इसके बजाय स्वच्छ चलाने का: साफ है कि 'Maven-सफाई प्लगइन' प्लगइन का 'साफ़' लक्ष्य को निष्पादित करेंगे, मैं 'customPlugin की' customClean 'लक्ष्य पर अमल करना चाहता था '।

उत्तर

18

तुम क्या वर्णन के लिए, यह सिर्फ clean चरण के दौरान चलने से maven-clean-plugin को रोकने, और बदले clean चरण के लिए customPlugin संलग्न करने के लिए सरल है। यह शॉर्ट-सर्किट पूरे जीवन चक्र से अधिक आसान है, और अपने पोम में अपने सभी Maven config रहता है।

1 Maven-सफाई प्लगइन

<plugin> 
    <artifactId>maven-clean-plugin</artifactId> 
    <version>2.4.1</version> 
    <configuration> 
     <skip>true</skip> 
    </configuration> 
</plugin> 

2 स्वच्छ चरण

<plugin> 
    <artifactId>maven-customPlugin-plugin</artifactId> 
    <version>customPlugin-version</version> 
    <executions> 
     <execution> 
      <id>customised-clean</id> 
      <goals> 
       <goal>customClean</goal> 
      </goals> 
      <phase>clean</phase> 
     </execution> 
    </executions> 
</plugin> 
+0

एक और अधिक सुरुचिपूर्ण समाधान है कि करने के लिए अपने स्वयं के प्लगइन देते रोकने – DaShaun

+0

हाँ .. इस के लिए सरल समाधान है मेरी समस्या। – Vicky

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