2012-08-24 19 views
5

Tengo maven-jaxb2-plugin. Genero objetos jaxb y lo recomiendo en otras clases de proyectos. He puesto el plugin jaxb y el complemento del compilador bajo la etiqueta pluginManagement. Maven está ejecutando la fase de compilación primero que la fase de generación, donde como si eliminase la etiqueta pluginManagement, funciona bien, primero se ejecuta la fase de generación y se genera todo el objeto jaxb y luego se ejecuta la fase de compilación. Debido a la etiqueta pluginManagement, mi proyecto no se compila. ¿La etiqueta pluginManagement se usa solo para definir todos los complementos en parent pom para que child pom pueda referirse a estos complementos? Mi proyecto no es un proyecto de varios módulos.El objetivo de maven no se ejecuta correctamente si los complementos están definidos en 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> 

Respuesta

5

Sí, <pluginManagement> se utiliza para crear configuraciones listas para su uso, pero no activa automáticamente los plugins - usted todavía tiene que incluirlos. lo que en efecto tienen razón, <pluginManagement>, al igual que <DependencyManagement> son muy útiles en el pom padres para centralizar configuraciones plugin y gestión de la dependencia.

En efecto, la 'declaración' sus plugins en los beneficios de módulos adecuados a partir de una sintaxis mucho más compacto:

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