2012-08-24 8 views
5

मेरे पास maven-jaxb2-plugin है। मैं जैक्सबी ऑब्जेक्ट जेनरेट करता हूं और इसे प्रोजेक्ट के अन्य वर्गों में संदर्भित करता हूं। मैंने प्लगइन प्रबंधन टैग के तहत जैक्सबी प्लगइन और कंपाइलर प्लगइन डाला है। मेवेन चरण उत्पन्न करने से पहले संकलन चरण निष्पादित कर रहा है, जैसे कि मैं प्लगइन प्रबंधन टैग को हटाता हूं, यह ठीक काम करता है, पहले उत्पन्न चरण निष्पादित हो जाता है और सभी जैक्सब ऑब्जेक्ट उत्पन्न हो जाता है और फिर संकलन चरण निष्पादित हो जाता है। प्लगइन प्रबंधन टैग के कारण, मेरी परियोजना संकलित नहीं है। प्लगइन प्रबंधन टैग केवल माता-पिता पोम में सभी प्लगइन को परिभाषित करने के लिए उपयोग किया जाता है ताकि बाल पोम इन प्लगइन का संदर्भ दे सके? मेरी परियोजना एक बहु-मॉड्यूल परियोजना नहीं है।मेवेन लक्ष्य ठीक से निष्पादित नहीं होता है प्रबंधन

<pluginManagement>  
     <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
       <encoding>UTF-8</encoding> 
      </configuration> 
     </plugin> 

     <plugin> 
      <groupId>org.jvnet.jaxb2.maven2</groupId> 
      <artifactId>maven-jaxb2-plugin</artifactId> 
      <executions> 
       <execution> 
        <goals> 
         <goal>generate</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <schemaDirectory>${basedir}/src/main/resources/schema</schemaDirectory> 
       <generatePackage>com.common.dto</generatePackage> 
       <schemaIncludes> 
        <include>*.xsd</include> 
       </schemaIncludes> 
       <removeOldOutput>false</removeOldOutput> 
       <strict>false</strict> 
       <verbose>true</verbose> 
       <forceRegenerate>true</forceRegenerate> 
       <extension>true</extension> 
      </configuration> 
     </plugin> 
    </plugins> 
</pluginManagement> 

उत्तर

5

हाँ, <pluginManagement> रेडी-टू-उपयोग विन्यास बनाने के लिए प्रयोग किया जाता है, लेकिन अपने आप आपके प्लगइन्स को सक्रिय नहीं करता है - आप अभी भी उन्हें शामिल करने की जरूरत है। तो असल में आप सही हैं, < प्लगइन प्रबंधन >, < निर्भरता प्रबंधन > प्लगइन कॉन्फ़िगरेशन और निर्भरता प्रबंधन को केंद्रीकृत करने के लिए मूल पोम में बहुत उपयोगी हैं।

प्रभावी रूप से, 'घोषित' एक और अधिक कॉम्पैक्ट वाक्य रचना से सही मॉड्यूल लाभ में अपने प्लग-इन:

<plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
    </plugin> 

    <plugin> 
     <groupId>org.jvnet.jaxb2.maven2</groupId> 
     <artifactId>maven-jaxb2-plugin</artifactId> 
    </plugin> 
</plugins> 
संबंधित मुद्दे