2011-09-12 14 views
14

द्वारा कवर नहीं किया गया है I maven-warpath-plugin available here का उपयोग करने का प्रयास कर रहा हूं। लेकिन मुझे मेरी pom.xml फ़ाइल में एक त्रुटि मिल रही है जो कहती है:प्लगइन त्रुटि: निष्पादन जीवन चक्र विन्यास

Plugin execution not covered by lifecycle configuration: org.appfuse.plugins:maven-warpath-plugin:2.1.0:add-classes (execution: default, phase: generate-sources)

मैं इसे कैसे हल करूं?

<plugin> 
    <groupId>org.appfuse.plugins</groupId> 
    <artifactId>maven-warpath-plugin</artifactId> 
    <version>2.1.0</version> 
    <extensions>true</extensions> 
    <executions> 
     <execution> 
      <goals> 
       <goal>add-classes</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

ग्रहण मुझे इस त्रुटि को हल करने के लिए "नया m2e कनेक्टर्स की खोज" के लिए एक quickfox टिप प्रदान करता है: यहाँ प्लगइन के लिए अपने pom.xml टुकड़ा है। मैंने उपलब्ध अधिकांश कनेक्टर स्थापित किए हैं जो लागू होने लगते हैं लेकिन त्रुटि अभी भी वहां है। कोई विचार है कि मैं यह काम कैसे कर सकता हूं?

उत्तर

29

यह m2e का नया behaviour है (जो पुराने m2eclipse प्लगइन को प्रतिस्थापित करता है)। यह निर्दिष्ट करने के लिए कि प्लगइन के साथ ग्रहण क्या करना चाहिए, आपको प्रोजेक्ट के pom.xml में बिल्ड लाइफसाइक्ल मैपिंग को कॉन्फ़िगर करना होगा - या एक कनेक्टर स्थापित करें (जो यह तय करता है कि प्लगइन को ग्रहण में निष्पादित करने की आवश्यकता है या नहीं) यदि यह मौजूद है।

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

<build> 
    ...... 
    <pluginManagement> 
     <plugins> 
      <!--This plugin's configuration is used to store Eclipse m2e settings 
       only. It has no influence on the Maven build itself. --> 
      <plugin> 
       <groupId>org.eclipse.m2e</groupId> 
       <artifactId>lifecycle-mapping</artifactId> 
       <version>1.0.0</version> 
       <configuration> 
        <lifecycleMappingMetadata> 
         <pluginExecutions> 
          <pluginExecution> 
           <pluginExecutionFilter> 
            <groupId> 
             org.appfuse.plugins 
            </groupId> 
            <artifactId> 
             maven-warpath-plugin 
            </artifactId> 
            <versionRange> 
             [2.1.0,) 
            </versionRange> 
            <goals> 
             <goal>add-classes</goal> 
            </goals> 
           </pluginExecutionFilter> 
           <action> 
            <ignore></ignore> 
           </action> 
          </pluginExecution> 
         </pluginExecutions> 
        </lifecycleMappingMetadata> 
       </configuration> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build> 

आप <execute> को <ignore> कार्रवाई को बदल सकते हैं आप प्रत्येक ग्रहण निर्माण में प्लगइन कार्रवाई करने के लिए चाहते हैं, तो (import, clean पर, ...)।

प्लगइन विन्यास विशिष्ट ग्रहण और pom.xml अच्छे लग नहीं है - लेकिन कम से कम यह Maven पर कोई असर नहीं का निर्माण ....

+0

@FrVaBe देखना है इसके लिए दूसरा ग्रहण quickfix करता है (ग्रहण निर्माण में अनदेखा के रूप में pom.xml में अनिवार्य रूप से लक्ष्य जोड़ें-कक्षाओं को चिह्नित करें)। मेरे वेब अनुप्रयोग निष्पादन को प्रभावित कर सकते हैं ?? –

+0

@ अमिरा मानई इसे निष्पादन को प्रभावित नहीं करना चाहिए क्योंकि इसका मेवेन निर्माण पर कोई प्रभाव नहीं पड़ता है। – FrVaBe

+0

जहां तक ​​मैं अपने परीक्षणों में देख सकता हूं, वह दृष्टिकोण सीधे मेवेन बिल्ड से मेवेन-वारपैथ-प्लगइन को छोड़ रहा है, है ना? मेरा मतलब है, मुझे अपने मुख्य युद्ध में निर्भरता के रूप में ' वारपैथ 'आर्टिफैक्ट प्राप्त करने की उम्मीद है, जिसे इसकी पहचान नहीं की जा सकती है। –

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