Comment puis-je exécuter plusieurs plugins Maven dans une seule phase et définir leur ordre d'exécution respectif?

StackOverflow https://stackoverflow.com/questions/2509513

Question

Je voudrais rupture certaines phases du cycle de vie Maven en sous-phases. Je souhaite contrôler le flux d'exécution d'un sous-phase à une autre, un peu comme des dépendances de fourmis.

Par exemple, je voudrais utiliser le plugin NSIS pour emballer mon projet dans un programme d'installation au stade de l'emballage, après mon projet avait été emballé dans un fichier de guerre. Je voudrais faire tout cela à la phase package.

Est-ce possible?

Merci

Était-ce utile?

La solution

Plugins lié à la même phase devrait être exécuté dans le même ordre que sont répertoriés dans le POM. Dans certaines circonstances (par exemple, si vous liez le même plug-in à une phase deux fois, comme le plugin antrun), cela ne peut se produire, mais cela est un bug (voir MNG-2258 et la question connexe MNG- 3719 ).

Autres conseils

J'ai eu le même problème. regarder Comment effectuer des tâches ordonnées dans Maven2 build . pour une raison quelconque les différents objectifs liés à une phase sont stockées dans une carte de hachage ou une autre structure non ordonnée qui rend l'ordre d'exécution aléatoire. ma solution a consisté à répartir les tâches à des phases différentes, mais je ne pense pas qu'il ya beaucoup pour dans sence votre cas (emballage nsis n'est pas test de pré-intégration). vous pouvez faire une des opérations suivantes:

1) tenter votre chance et voir si Maven chosses l'ordre pour vous (vous avez probablement essayé déjà)

2) utiliser le plugin autonome - exécuter l'objectif en dehors du cycle de vie. quelque chose comme:     mvn package org.codehaus.mojo: nsis-maven-plugin: 1,0: compiler.

3) les séparer dans le module: avoir une pom-mère contenant deux sous-modules, l'un - votre projet de guerre et l'autre pour le projet nsis

.

4) utiliser un cycle de vie personnalisé en changeant le type, dans votre cas, vous pouvez utiliser « exe ». cela se fait en utilisant une extension de plugin personnalisé ( guide d'utilisation extension )

5) utiliser le Jetspeed-MVN-maven-plugin . Je ne l'ai jamais utilisé, mais il semble pertinent à vos besoins.

espère que cela vous donne de nouvelles idées.

Ronen

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top