2012-08-24 7 views
5

Ho il plugin maven-jaxb2. Genero oggetti jaxb e li rimando ad altre classi di progetto. Ho inserito il plugin jaxb e il plugin del compilatore sotto il tag pluginManagement. Maven sta eseguendo la fase di compilazione prima della fase di generazione dove come se rimuovo il tag pluginManagement, funziona bene, prima viene generata la fase viene eseguita e tutto l'oggetto jaxb viene generato e quindi viene eseguita la fase di compilazione. A causa del tag pluginManagement, il mio progetto non viene compilato. Il tag pluginManagement è usato solo per definire tutti i plugin nel padre gen in modo che il figlio possa riferirsi a questi plugin? Il mio progetto non è un progetto multi-modulo.L'obiettivo Maven non viene eseguito correttamente se i plug-in sono definiti in pluginManagement

<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> 

risposta

5

Sì, <pluginManagement> viene utilizzato per creare configurazioni pronte per l'uso, ma non attiva automaticamente i plug-in - è comunque necessario includerli. Quindi, in effetti, hai ragione, <pluginManagement>, proprio come <dependencyManagement> sono molto utili nel padre pom per centralizzare le configurazioni dei plugin e la gestione delle dipendenze.

In effetti, '' dichiarando i plug-nei vantaggi dei moduli giusti da una sintassi molto più compatto:

<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> 
Problemi correlati