Comment passer des tests lors de l'utilisation réacteur Maven?
-
27-09-2019 - |
Question
Je travaille sur un projet de modules multi-Maven. Je veux construire un module donné et passer les tests unitaires pour accélérer le processus de construction vers le haut.
J'ai essayé ce qui suit:
mvn reactor:make -Dmake.folders=search -Dgoals=package,-DskipTests
mvn reactor:make -Dmake.folders=search -Dgoals=package -Dmaven.test.skip=True
Cependant, cela n'a pas d'effet du tout. Des indices?
La solution
Votre première ressemble ligne comme la bonne idée, mais au lieu de -Dgoals
vous devez utiliser -Dmake.goals
.
A partir des exemples plug-in réacteur :
Le lancement d'un second réacteur plug-in copie de Maven pour faire sa magie. Cette copie de Maven ne doit pas nécessairement tous les drapeaux et options que vous passé à votre première copie de Maven, y compris le drapeau --debug, système propriétés et -DskipTests.
Vous pouvez transmettre des arguments supplémentaires le Maven pondu en les traitant comme objectifs avec -Dmake.goals, comme ceci:
mvn reactor:resume -Dmake.folders=barBusinessLogic -Dmake.goals=install,-DskipTests
En d'autres termes, les « objectifs » ne sont que les paramètres de ligne de commande supplémentaire transmis au Maven engendré; ils ne le font pas nécessairement être « objectifs ».
Si vous voulez vraiment de fantaisie, vous préféreront peut-être courir juste sécher le réacteur plug-in en mode -Dmake.printOnly, décrit ci-dessus. Cela imprimer la commande que le plug-in aurait utilisé pour construire, mais vous pouvez modifier ce ligne de commande au contenu de votre coeur!
Autres conseils
Compte tenu de la structure du projet
/
A/pom.xml
B/pom.xml
C/pom.xml
D/pom.xml
E/pom.xml
pom.xml (parent pom file that includes A,B,C,D,E modules)
Dans le même à votre
mvn reactor:make -Dmake.folders=C,D,E -Dgoals=package -Dmaven.test.skip=True
Bien que je ne sais pas si mon approche fait exactement ce que le plug-in du réacteur fait, mais je trouve l'approche suivante m'a assez bien travaillé pour
mvn -pl=C,D,E -DskipTests=true package
Avez-vous essayé, y compris l'option -Dmaven.test .skip = true (notez le cas) à votre argument de ligne de commande que vous utilisez? Comme Java, Maven est sensible à la casse. Mais en général, vous pouvez laisser tomber la partie = true et qui devrait également provoquer l'omission du test.