2010-02-03 7 views
28

Est-il possible d'invoquer une exécution de maven-exec-plugin (ou de tout autre plugin) par son identifiant à partir de la ligne de commande?Maven maven-exec-plugin plusieurs configurations d'exécution

Disons que mon fichier pom.xml ressemble à ceci:

<project> 
[...] 
    <plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <executions> 
     <execution> 
      <id>foo</id> 
      <goals> 
       <goal>exec</goal> 
      </goals> 
      <phase></phase> 
      <configuration> 
       <executable>echo</executable> 
       <arguments> 
        <argument>foo</argument> 
       </arguments> 
      </configuration> 
     </execution> 
     <execution> 
      <id>bar</id> 
      <goals> 
       <goal>exec</goal> 
      </goals> 
      <phase></phase> 
      <configuration> 
       <executable>echo</executable> 
       <arguments> 
        <argument>bar</argument> 
       </arguments> 
       </configuration> 
      </execution> 
     </executions> 
    </plugin> 
[...] 
</project> 

est-il maintenant possible d'appeler

mvn exec: exec

avec un peu de magie ajoutée à courir exécution "foo"?

Pour les curieux, il existe une solution alternative utilisant des profils disponibles ici: http://www.mail-archive.com/[email protected]/msg00151.html

+3

Je ne peux pas obtenir le plug-in pour travailler avec la dans la balise . Il fonctionne cependant en le mettant juste à l'extérieur de l'étiquette . L'erreur est "Les paramètres 'exécutable' pour l'objectif org.codehaus.mojo: exec-maven-plugin: 1.2.1: les exec sont manquants ou invalides" – avanderw

+0

Notez que dans la "solution alternative utilisant des profils" ci-dessus, le '' les balises sont manquantes. – zb226

Répondre

15

Non, il est impossible. Les exécutions servent à lier le cycle de vie (c'est-à-dire qu'elles ne sont pas conçues pour être invoquées sur la ligne de commande). Vous devrez donc utiliser l'astuce de profil décrite dans le lien que vous avez fourni.

+0

Ce n'est pas entièrement vrai. Voir [ma réponse] (http://stackoverflow.com/questions/2192660/maven-maven-exec-plugin-multiple-execution-configurations/7085988#7085988). –

+1

C'est maintenant possible. Voyez la réponse de slangois. – heenenee

+1

Voir la réponse suivante: ça marche :-) – BTakacs

0

Je pense que si vous écrivez exécuter l'objectif:

org.codehaus.mojo:exec-maven-plugin:¿Version?:exec 

cela a fonctionné pour moi dans Eclipse plugin Maven.

11

Non mentionné ici est que, à partir de Maven 2.2.0, si vous give an execution of any plugin the id "default-cli", puis lorsque vous exécutez ce plugin à partir de la ligne de commande, cette configuration est utilisée. Vous êtes limité à une seule exécution par défaut de chaque plugin, mais c'est un début.

Questions connexes