2011-05-16 11 views
5

Estoy intentando utilizar Maven para generar un artefacto para implementar en Vignette Portal. El embalaje es exactamente el mismo que un artefacto war, pero el archivo debería tener una extensión car.artefacto de guerra Maven con extensión de coche

Opciones que he intentado y que no he podido completar.

  • plugin de Uso guerra y cambiar el nombre del artefacto final (mantiene la adición de extensión .war)
  • Uso plugin de montaje con descriptor postal (no capaz de cambiar .zip a .car extensión)
  • crear un nuevo tipo de embalaje como se describe here (no se puede utilizar el plugin de guerra para la extensión .car)

que sería la más fácil forma de 'Maven' para generar el archivo .car? ¿Podrías darme alguna orientación?

Gracias.

Respuesta

7

Creo que no es posible cambiar el nombre del artefacto principal entregable de un proyecto.

De todos modos, en el pasado, lo que he hecho hasta ahora era hacer que Maven copie el archivo con un nombre nuevo y luego "adjuntarlo" a los entregables de una compilación; mediante la configuración de dos plugins:

  • maven-ant-run para copiar
  • maven-build-helper para adjuntar con el fin de ser desplegado a lo largo de mi repo con el artefacto principal de mi proyecto.

    <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-antrun-plugin</artifactId> 
        <executions> 
        <execution> 
         <phase>package</phase> 
         <configuration> 
          <target> 
          <copy file="${project.build.directory}/${project.build.finalName}.war" 
           tofile="${project.build.directory}/${project.build.finalName}.car" /> 
          </target> 
         </configuration> 
         <goals> 
         <goal>run</goal> 
         </goals> 
         </execution> 
        </executions> 
    </plugin> 
    

Y la segunda:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>build-helper-maven-plugin</artifactId> 
    <executions> 
     <execution> 
      <id>attach-instrumented-jar</id> 
      <phase>verify</phase> 
       <goals> 
       <goal>attach-artifact</goal> 
       </goals> 
     <configuration> 
       <artifacts> 
        <artifact> 
        <file>${project.build.directory}/${project.build.finalName}.car</file> 
        <type>car</type> 
        </artifact> 
       </artifacts> 
       </configuration> 
      </execution> 
     </executions> 
    </plugin> 

espero que le puede ayudar. Al menos hasta que encuentres una mejor solución.

+0

Para el primer ejemplo, me funciona con el elemento secundario de 'configuration' como' tasks' en lugar de 'target', tal vez debido a una nueva versión de antrun? –

+0

@jaime sí, posiblemente. – mschonaker

+0

@jaime comprueba la documentación de MOJO, parece que 'tasks' ha quedado en desuso en favor de' target'. http://maven.apache.org/plugins/maven-antrun-plugin/run-mojo.html – mschonaker

Cuestiones relacionadas