2011-07-11 10 views
5

Intenté generar dos xmlbeans en un proyecto. Cada uno, por ejemplo, obtiene un objeto participante, por lo que no puedo ponerlos en una configuración. La forma en que lo hice fue usando dos expresiones, aquí está mi archivo pom:Cómo generar dos xmlbeans en un archivo pom

  <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>xmlbeans-maven-plugin</artifactId> 
      <version>2.3.3</version> 
      <executions> 
       <execution> 
        <id>xmlbean1</id> 
        <phase>generate-sources</phase> 
        <goals> 
         <goal>xmlbeans</goal> 
        </goals> 
        <configuration> 
         <xmlConfigs> 
          <xmlConfig implementation="java.io.File">src/main/xsdconfig/xmlbean1</xmlConfig> 
         </xmlConfigs> 
         <verbose>true</verbose> 
         <schemaDirectory>src/main/xsd/xmlbean1</schemaDirectory> 
        </configuration> 
       </execution> 
       <execution> 
        <id>xmlbean2</id> 
        <phase>generate-sources</phase> 
        <goals> 
         <goal>xmlbeans</goal> 
        </goals> 
        <configuration> 
         <xmlConfigs> 
          <xmlConfig implementation="java.io.File">src/main/xsdconfig/xmlbean2</xmlConfig> 
         </xmlConfigs> 
         <verbose>true</verbose> 
         <schemaDirectory>src/main/xsd/xmlbean2</schemaDirectory> 
        </configuration> 
       </execution> 
      </executions> 
      <inherited>true</inherited> 
     </plugin> 

Pero no funciona en absoluto. ¿Alguien podría ayudarme con eso, gracias

+0

Son ¿Hay algún error? – drekka

+0

¿Funciona la generación de xmlbeans individuales? –

+0

Gracias a todos, recibí la respuesta, el siguiente pom está funcionando bien: – Luke

Respuesta

1

Debería intentar usar otra fase distinta para la segunda invocación. AFAIK el mismo complemento no se puede ejecutar dos veces en la misma fase del ciclo de vida.

1

Esto no funciona porque el id solo se usa para encontrar una ejecución existente (cuando se quiere ajustar).

Su problema es que Maven no puede ejecutar el mismo complemento dos veces en el mismo phase.

¿Cuáles son sus opciones?

  1. escisión que en diferentes módulos sub

  2. Uso Ant para crear y utilizar xmlbeans the antrun element.

Pero me pregunto por qué no se puede utilizar dos elementos xmlConfig. Sólo hay que poner todos sus .xsd archivos en un directorio y crear tantas habas de ellos según sea necesario (ver "Multiple XSDConfig Directories")

+0

porque estos dos xmlbeans tienen el mismo componente, como participante, y maven tiene conflictos al compilar. – Luke

2

Gracias a todos, tengo la respuesta, la siguiente pom está trabajando muy bien:

<executions> 
       <execution> 
        <id>id1</id> 
        <phase>generate-sources</phase> 
        <goals> 
         <goal>xmlbeans</goal> 
        </goals> 
        <configuration> 
         <schemaDirectory>src/main/xsd/first</schemaDirectory> 
         <xmlConfigs> 
          <xmlConfig implementation="java.io.File">src/main/xsdconfig/first</xmlConfig> 
         </xmlConfigs> 
         <verbose>true</verbose> 
         <sourceGenerationDirectory>target/first-resource</sourceGenerationDirectory> 
         <classGenerationDirectory>target/first-class</classGenerationDirectory> 
         <staleFile>target/first/first.stale</staleFile> 
        </configuration> 
       </execution> 
       <execution> 
        <id>id2</id> 
        <phase>generate-sources</phase> 
        <goals> 
         <goal>xmlbeans</goal> 
        </goals> 
        <configuration> 
         <schemaDirectory>src/main/xsd/second</schemaDirectory> 
         <xmlConfigs> 
          <xmlConfig implementation="java.io.File">src/main/xsdconfig/second</xmlConfig> 
         </xmlConfigs> 
         <verbose>true</verbose> 
         <sourceGenerationDirectory>target/second-resource</sourceGenerationDirectory> 
         <classGenerationDirectory>target/second-class</classGenerationDirectory> 
         <staleFile>target/second/second.stale</staleFile> 
        </configuration> 
       </execution> 
      </executions> 
Cuestiones relacionadas