web-dev-qa-db-fra.com

Comment exécuter l'exécution du plugin maven directement à partir de la ligne de commande?

J'ai un plugin (antrun) avec une exécution configurée qui a un identifiant et n'est lié à aucune phase. Puis-je exécuter cette exécution directement à partir de la ligne de commande?

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

Une course avec quelque chose comme:

mvn my-execution

ou au moins

mvn magicplugin:execute -DexecutionId=my-execution
83
artemb

Cette fonctionnalité a été implémentée comme MNG-5768 , et est disponible dans Maven 3.3.1.

Le changement:

étendre la syntaxe d'appel direct du plugin pour autoriser le paramètre facultatif @ execution-id, par exemple, org.Apache.maven.plugins: maven-remote-resources-plugin: 1.0: process @ executionId.

Donc, dans votre cas:

mvn antrun:run

utilise le default-cli ID d'exécution, et:

mvn antrun:run@my-execution

utilise l'exécution configurée dans votre pom.

115
Joe

Le moyen le plus direct d'exécuter votre plugin maven est de spécifier l'objectif du plugin directement sur la ligne de commande.

mvn groupId:artifactId:version:goal

Plus d'informations sur: Guide de développement des plugins Maven

35
Dimitri Dewaele

Ce que vous recherchez est capturé dans Default + Plugin + Execution + IDs mais à ma connaissance actuellement non pris en charge. Cependant, selon les commentaires de MNG-3401 (lisez-les jusqu'à la fin):

pour les mojos appelés directement à partir de la ligne de commande, vous pouvez fournir la configuration à partir du POM en utilisant le executionId: 'default-cli' comme ceci:

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

Cela devrait fonctionner dans Maven 2.2.0 et 3.x.

Peut-être que cela vous suffira.

14
Pascal Thivent