Y a-t-il un moyen de déclencher une commande d'installation de maven à partir d'une autre commande d'installation de maven? En d'autres termes, je voudrais être en mesure d'exécuter une commande maven install sur un projet maven (en eclipse) et je veux que cela provoque automatiquement une commande d'installation sur un autre projet maven. Est-ce possible?Déclenchez une commande d'installation de maven à partir d'une autre commande d'installation de maven
Répondre
La manière Maven de "déclencher" une autre construction consiste à définir un multi-module build. Un projet parent pom peut spécifier des modules, qui seront tous construits en utilisant le cycle de vie standard. Donc, exécuter mvn install
sur le parent signifierait que chaque module est construit à son tour.
Le parent est défini par pom
packagin et aurait une déclaration de modules comme celui-ci:
<modules>
<module>module-a</module>
<module>module-b</module>
</modules>
Alternativement, il est possible d'attacher des objets supplémentaires à une construction de sorte qu'ils sont déployés à côté des objets primaires (en supposant qu'ils avons déjà été emballés, vous pouvez utiliser le build-helper-maven-plugin pour attach un fichier arbitraire à votre pom, il sera déployé avec le classificateur spécifié. la configuration suivante attache le fichier spécifié comme my-artifact-1.0-extra.jar
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>/path/to/extra/file.jar</file>
<type>jar</type><!--or specify your required extension-->
<classifier>extra</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
Comme indiqué, la façon de lancer un objectif (disons mvn install
) sur un ensemble de modules est de les organiser comme un projet multi-module et de lancer l'objectif sur le pom parent. Derrière la scène, Maven utilisera un "réacteur Maven" pour ce travail. Le réacteur calcule l'ordre de construction en faisant un tri topologique des nœuds du graphe orienté construit par la relation de dépendance entre les modules. Ce graphique est construit en regardant <modules>
et <dependencies>
étiquettes dans poms.
Mais le lancement maven d'un parent est pas la seule option et Maven offre plus de possibilités de jouer avec le réacteur (par exemple, faire un projet et ses dépendances ou ceux qui en dépendent):
avec Maven 2.0.x vous devez utiliser le plug-in du réacteur: http://maven.apache.org/plugins/maven-reactor-plugin/ (voir Reactor: My New Favourite Maven Plugin aussi)
avec Maven 2.1+ vous pouvez utiliser les options de ligne de commande native: http://www.sonatype.com/people/2009/03/maven-210-released/ (voir les nouvelles options de mode de construction
-amd
,-rf
,-am
,-pl
)
Vérifiez, il pourrait vous aider à atteindre votre objectif.
- 1. Tableaux de chaînes en tant qu'arguments de ligne de commande pour le plugin maven
- 2. Bouton de commande "Clic" à partir d'un autre classeur
- 3. Comment Maven détermine-t-il les objectifs de la commande dans une phase donnée?
- 4. Puis-je forcer Maven 2 à exiger qu'une propriété soit spécifiée sur la ligne de commande?
- 5. Puis-je créer un profil Maven en activer un autre?
- 6. disponibles Maven Profils
- 7. Plugin Maven exécutant un autre plugin
- 8. maven, ant plugin, antrun: run
- 9. Déploiement de build Maven
- 10. Inclure un assemblage Maven dans un autre?
- 11. Maven questions de dépendance
- 12. Résolution de dépendance Maven
- 13. Dépendances de code source Maven
- 14. Windows: Comment spécifier une commande multiligne à l'invite de commande?
- 15. Création d'un processus à partir d'une instance de Jetty lancée à partir de Maven
- 16. Maven assembly: assembly
- 17. Comment lancer une commande Eclipse à partir de Java?
- 18. erreur Maven avec plusieurs exécutions dans maven-deploy-plugin
- 19. Transfert de dépendances dans Maven
- 20. Redirection de la sortie vers un argument de ligne de commande d'une autre commande dans Windows
- 21. Maven Tomcat Embarqué
- 22. Déploiements multiples dans maven
- 23. Assemblage Maven - Appel de l'assemblage de modules
- 24. fournisseur de wagon maven s3
- 25. Maven release properties
- 26. Où devrais-je mettre des fichiers de modèle Velocity pour un utilitaire de ligne de commande construit avec Maven?
- 27. Maven - Jetty - org.apache.maven.lifecycle.LifecycleExecutionException: Échec
- 28. Maven 2 plugin, build + surefire
- 29. Maven: supprime une seule dépendance transitive
- 30. Hibernate JPA vers les outils de ligne de commande DDL