Voglio eseguire un semplice comando exec post maven install phase. Qual è il modo più semplice per raggiungere questo obiettivo? (Senza aggiungere nuovi plugin) del ciclo di vitaEsecuzione di un task post installazione Maven
risposta
Se si desidera eseguire questo comando come parte del normale ciclo di vita di compilazione, non c'è altro modo che vincolante l'obiettivo exec
sul install
fase:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1.1</version>
<executions>
<execution>
<id>my-exec</id>
<phase>install</phase>
<goals>
<goal>exec</goal>
</goals>
<inherited>false</inherited>
</execution>
</executions>
<configuration>
<executable>COMMAND</executable>
</configuration>
</plugin>
</plugins>
</build>
Ho fatto un semplice test utilizzando la configurazione di cui sopra (usando ls
come "COMMAND") con un progetto maven appena creata e funzionante mvn install
produce il seguente output:
$ mvn install [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Building maven-exec-testcase [INFO] task-segment: [install] [INFO] ------------------------------------------------------------------------ ... [INFO] [install:install {execution: default-install}] [INFO] Installing /home/pascal/Projects/maven-exec-testcase/target/maven-exec-testcase-1.0-SNAPSHOT.jar to /home/pascal/.m2/repository/com/mycompany/app/maven-exec-testcase/1.0-SNAPSHOT/maven-exec-testcase-1.0-SNAPSHOT.jar [INFO] [exec:exec {execution: my-exec}] [INFO] pom.xml [INFO] src [INFO] target [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: 12 seconds [INFO] Finished at: Tue Jan 05 19:26:04 CET 2010 [INFO] Final Memory: 11M/75M [INFO] ------------------------------------------------------------------------
Come si può vedere, il comando viene eseguito alla fine della fase install
(dopo la copia dell'articolo nel repository locale).
E se davvero non vuoi aggiungere lo snippet al tuo pom, dovrai chiamare esplicitamente exec:exec
dopo install
sulla riga di comando come suggerito da whaley.
l'esperto di default si conclude con la installazione e distribuire obiettivi - non esiste una versione pre e post di questi obiettivi.
potenziali opzioni potrebbe essere quella di:
Bind l'exec: mojo exec per la fase di distribuzione. Vi metterò in guardia contro questa idea in quanto la fase di deploy è pensata per distribuire artefatti in un repository maven remoto.
Eseguire l'exec: mojo exec dopo il gol installare nella vostra invocazione mvn ... ad esempio:
mvn installazione pulita exec: exec -Dexec.executable = "yourcommand" -Dexec.args = "argomenti"
Se si dispone di un progetto multi-modulo, creare un altro modulo alla fine dei tuoi <moduli> e legare exec: exec qualsiasi obiettivi usuali all'interno di quel modulo. Questo forzerà questo particolare modulo a funzionare per ultimo assumendo che altri criteria the reactor looks at non siano soddisfatti. Una strategia comune che utilizzo con i progetti di Maven su cui lavoro è "in caso di dubbio, crea un altro modulo".
- 1. Esecuzione task speculare Hadoop
- 2. Esegui task Ant con Maven
- 3. Esecuzione caposquadra da un task rake
- 4. Griffon: esecuzione 'gradle build' - Esecuzione fallita per task ': jfxJar'
- 5. Piano di esecuzione Maven
- 6. Installazione di Maven con Eclipse
- 7. Installazione di NodeJS via Maven
- 8. Installazione dell'archetipo Maven
- 9. Installazione di Maven 3: file di installazione non funzionante
- 10. Passare argomenti da 'maven' a task ant
- 11. SoapUI Plugin Maven - esecuzione di più progetti
- 12. Installazione di maven su windows 7 64bit
- 13. Come creare programmi di installazione con Maven
- 14. Impossibile caricare il mojo - installazione di maven
- 15. Task continuazione esecuzione parallelo asincrono/attendono
- 16. Aggiunta di installazione Maven per Eclipse
- 17. Installazione di Maven 3.0.5 in RedHat Linux
- 18. Maven per Eclipse (M2E) errore di installazione
- 19. Errore: esecuzione fallita per task ': app: packageDebug'
- 20. In che modo Task Scheduler termina un processo in esecuzione?
- 21. esecuzione di una query di selezione con un'Ansible Task
- 22. Esecuzione di più programmi di installazione/exe in un unico programma di installazione?
- 23. Esecuzione di un incrocio di test con JUnit e Maven
- 24. Maven maven-exec-plugin configurazioni multiple di esecuzione
- 25. Esecuzione di una fase Maven specifica
- 26. JUnit + Maven + Test parallelo Errore di esecuzione
- 27. Esecuzione di un singolo test JUnit4 in Eclipse con Maven
- 28. Modifica dell'ordine di esecuzione del plugin Maven
- 29. Aggiungi InstallerListener al IzPack progetto di installazione con Maven
- 30. marketplace di eclipse indigo Errore di installazione di Maven Integration