2009-05-26 13 views
8

Lors de l'exécution de 'mvn antrun: run' mes tâches ne sont pas exécutées .. J'ai une tâche d'écho, mais aucune sortie n'est affichée .. Lors de l'exécution des phases auxquelles les tâches sont liées, ils sont exécutés.maven, ant plugin, antrun: run

Comment j'exécute spécifiquement les tâches à partir de la ligne de commande?

Répondre

7

En supposant quelque chose comme ceci est ajouté à votre pom.xml

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <executions> 
      <execution> 
       <phase>package</phase><!--Change this to control when it runs --> 
       <configuration> 
       <tasks> 
      <echo message="Hello, maven"/> 
       </tasks> 
       </configuration> 
       <goals> 
       <goal>run</goal><!-- this is to call antrun:run --> 
       </goals> 
      </execution> 
      </executions> 
     </plugin> 
    </plugins> 
    </build> 

exécution mvn package entraînera la suivante sur votre console

[INFO] [antrun:run {execution: default}] 
[INFO] Executing tasks 
    [echo] Hello, maven 
[INFO] Executed tasks 

Vous pouvez modifier le phase d'avoir votre course script fourmi à tout moment dont vous avez besoin.

+0

Merci pour la réponse. J'utilise cette tâche ant spécifique pour déployer un webservice axis (avec un programme appelé AdminClient). Je ne peux le déployer qu'après que mon container (dans ce cas jetty: run) a démarré .. Alors quelle phase serait pertinente? – vpalle

+0

Jetty: run serait probablement en cours d'exécution à pré-intégration-test. Je changerais la phase en test post-intégration. L'exécution "mvn verify" permet d'exécuter les tâches de jetée et de fourmi. – sal