2012-04-30 11 views
11

कवर नहीं मैं एक XSD से जावा फ़ाइलें पैदा करने के लिए jaxb2 xjc प्लगइन का उपयोग कर उपयोग कर रहा हूँ। इसलिए मैं अपने pom.xml कॉन्फ़िगर करने के लिए इस प्रकार के रूप में इस्तेमाल:Maven JAXB2 XJC प्लगइन: M2E प्लगइन निष्पादन

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>jaxb2-maven-plugin</artifactId> 
      <version>1.3</version> 
      <executions> 
       <execution> 
        <phase>generate-sources</phase> 
        <goals> 
         <goal>xjc</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <packageName>com.mypackage.model</packageName> 
       <schemaDirectory>${basedir}/src/main/resources/XSD</schemaDirectory> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

मैं इंडिगो ग्रहण करने के लिए अपने विकासशील पर्यावरण बदल गया है और यह किसी भी अधिक काम नहीं करता। त्रुटि कहती है: "प्लगइन निष्पादन जीवन चक्र विन्यास द्वारा कवर नहीं है"। मैं समझता हूं कि मुझे अपनी प्लगइन के निष्पादन को अलग-अलग परिभाषित करना है ताकि यह मेरे नए वातावरण में काम करे।

मैंने इस पृष्ठ पर दिए गए निर्देशों का पालन किया M2E plugin execution not covered लेकिन generate-sources चरण निष्पादित करते समय स्रोत फ़ाइलों को उत्पन्न नहीं किया गया है।

क्या कोई मुझे दिखा सकता है कि मेरे पोम को वास्तव में कैसे रीफैक्टर करना है ताकि मेरी फाइलें ठीक से उत्पन्न हो जाएं?

मदद के लिए धन्यवाद!

+0

आप कभी भी इस ऑफ़लाइन के लिए एक जवाब मिला? मैं खुद को एक ही मुद्दे को हल करने की कोशिश कर रहा हूं। –

+0

कोई नहीं ... लेकिन अगर आपको कोई मिलता है, तो कृपया इसे पोस्ट करें और मुझे इसे स्वीकार करने में खुशी होगी :) –

उत्तर

14

यह पता चला है कि मैं अंत में एक उत्तर मिल गया! मैवेन के साथ ग्रहण के एकीकरण ने कई मेवेन प्लगइन के साथ संगतता के मुद्दों को जाना है। के रूप में संकेत दिया

<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.codehaus.mojo</groupId> 
            <artifactId>jaxb2-maven-plugin</artifactId> 
            <versionRange>[1.3,)</versionRange> 
            <goals> 
             <goal>xjc</goal> 
            </goals> 
           </pluginExecutionFilter> 
           <action> 
            <execute /> 
           </action> 
          </pluginExecution> 
         </pluginExecutions> 
        </lifecycleMappingMetadata> 
       </configuration> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build> 

:

जब आप सफलतापूर्वक एक Maven ग्रहण के बाहर कमांड लाइन से निर्माण चला सकते हैं, अभी तक लेकिन ग्रहण पता चलता है अपने पोम "निष्पादन कवर नहीं" त्रुटियों, तो इस प्लगइन जोड़ने की कोशिश उपर्युक्त टिप्पणी में, यह प्लगइन ग्रहण के बाहर कुछ भी नहीं करता है। यह बस ग्रहण जब, JAXB प्लगइन पर अमल करने के बाद से ग्रहण बहुत चालाक अपने आप ही है कि यह पता लगाने की नहीं है बताता है।

मुझे यह स्निपेट another StackOverflow question पर मिला, और इसे अन्य प्रश्न में समस्या पर प्लगइन की बजाय "जैक्सबी 2-मेवेन-प्लगइन" प्लगइन में अपनाया।

+0

आज सुबह मैंने उपरोक्त जैसा ही किया और यह मेरी ग्रहण त्रुटि को ठीक कर दिया। – Venky

3

आप maven-jaxb2-plugin पर भी स्विच कर सकते हैं, जिसमें एम 2 ई में समर्थन है। स्टीव पर्किन्स 'जवाब से अधिक आयु वालों प्लगइन्स जो M2E का समर्थन नहीं करता के लिए आम तौर पर लागू है, हालांकि है।

+0

मैं अपने प्रोजेक्ट में नवीनतम संस्करण (0.13.1) के साथ 'Maven-jaxb2-plugin' का उपयोग करें और के रूप में सवाल में दिखाया गया है अभी भी ग्रहण में एक ही त्रुटि मिलती है। केवल इसे ठीक करने के लिए स्टीव पार्किन्स के उत्तर सीमों को लागू करना। – MJar

0

मुझे यकीन नहीं है कि यह आपके पर्यावरण पर लागू होता है, लेकिन यदि ऐप को मैवेन मॉड्यूल में विभाजित किया गया है तो मुझे अब तक की जरूरतों का सबसे अच्छा समाधान ग्रहण आईडीई से सभी प्रभावित मॉड्यूल को निकालना है। जब भी मुझे पुन: उत्पन्न करने की आवश्यकता होती है तो मैं बस एमवीएन इंस्टॉल के साथ कमांड लाइन से बना हूं। ग्रहण तो रेपो से संकुल उपयोग कर रहा है और अपने दम पर बनाने की कोशिश नहीं, कोई runOnIncremental बेला के आसपास की जरूरत है (जो मैं पिछले कुछ समय से उपयोग कर रहा था), कोई लाल मॉड्यूल/लाइनों, इसकी गति और भी बनाता है।

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