2010-07-02 12 views
50

Tengo un complemento (antrun) con una ejecución configurada que tiene una identificación y no está vinculada a ninguna fase. ¿Puedo ejecutar esta ejecución directamente desde la línea de comando?¿Cómo ejecutar la ejecución del complemento maven directamente desde la línea de comandos?

<plugin> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <executions> 
    <execution> 
     <id>my-execution</id> 
     ... 
    </execution> 
    </executions> 
</plugin> 

una carrera con algo como:

mvn my-execution 

o al menos

mvn magicplugin:execute -DexecutionId=my-execution 

Respuesta

12

Lo que estamos buscando es capturado en Default+Plugin+Execution+IDs pero que yo sepa no es compatible actualmente. Sin embargo, de acuerdo con los comentarios de MNG-3401 (a leer hasta el final):

de mojos invocado directamente desde la línea de comandos, puede suministrar configuración del POM usando el executionID: 'default-cli' de esta manera:

<plugin> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <executions> 
    <execution> 
     <id>default-cli</id> 
     <configuration> 
     <descriptorRefs> 
      <descriptorRef>jar-with-dependencies</descriptorRef> 
      <descriptorRef>project</descriptorRef> 
     </descriptorRefs> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 

esto debería funcionar en Maven 2.2.0 y 3.x.

Quizás esto sea suficiente para usted.

+0

que no era exactamente el evento pregunta si su respuesta es correcta;). –

70

Esta funcionalidad ha sido implemented como MNG-5768, y está disponible en Maven 3.3.1.

el cambio será:

extienden sintaxis de invocación Plugin directa para permitir que los parámetros de ejecución-id opcional @, por ejemplo, org.apache.maven.plugins: maven-remote-recursos-plugin: 1,0: proceso @ ID de ejecución

Así, en su caso:

mvn antrun:run 

utiliza el ID de default-cli ejecución y:

mvn antrun:[email protected] 

utiliza la ejecución configurado en su pom.

+0

Esta debería ser la respuesta, supongo. –

9

El medio más directo para ejecutar su plugin maven es especificar el objetivo del complemento directamente en la línea de comandos.

mvn groupId:artifactId:version:goal 

Más información en: Development guide for Maven plugins

+1

Pero, ¿cómo puedo ejecutar exactamente la ejecución "default-cli"? Si hay varias ejecuciones en la definición del complemento. –

Cuestiones relacionadas