Wie Tests zu überspringen, wenn Maven Reaktor?
-
27-09-2019 - |
Frage
Ich arbeite an einem Maven Multi-Module Projekt. Ich mag ein bestimmtes Modul bauen und die Unit-Tests überspringen, um den Build-Prozess zu beschleunigen.
Ich habe versucht, die folgenden:
mvn reactor:make -Dmake.folders=search -Dgoals=package,-DskipTests
mvn reactor:make -Dmake.folders=search -Dgoals=package -Dmaven.test.skip=True
Allerdings bedeutet dies keine Auswirkungen auf alle haben. Irgendwelche Hinweise?
Lösung
Ihre erste Zeile sieht aus wie die richtige Idee, aber anstatt -Dgoals
sollten Sie -Dmake.goals
verwenden.
Aus dem Reaktor Plugin Beispiele :
Der Plugin Reaktor startet einen zweiten Kopieren von Maven seine Magie zu tun. Dies Kopie von Maven muss nicht unbedingt alle Flags und Optionen, die Sie übergeben Sie Ihre erste Kopie von Maven, einschließlich des --debug Flag, system Eigenschaften und -DskipTests.
Sie können zusätzliche Argumente übergeben zu der erzeugte Maven durch die Behandlung von ihnen als Ziele mit -Dmake.goals, wie folgt aus:
mvn reactor:resume -Dmake.folders=barBusinessLogic -Dmake.goals=install,-DskipTests
Mit anderen Worten sind die „Ziele“ just zusätzliche Befehlszeilenparameter übergeben zu den erzeugten Maven; sie dies nicht tun unbedingt sein müssen „Ziele.“
Wenn Sie wirklich Lust zu bekommen, Sie kann es vorziehen, den Reaktor nur Trockenlauf Plug-in -Dmake.printOnly Modus, oben beschrieben. Das wird auszudrucken der Befehl, dass das Plugin hätte zu bauen verwendet, aber Sie können zwicken, dass Befehlszeile Inhalt Ihres Herzens!
Andere Tipps
In Anbetracht der Projektstruktur
/
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)
Ähnlich wie bei der
mvn reactor:make -Dmake.folders=C,D,E -Dgoals=package -Dmaven.test.skip=True
Obwohl ich bin mir nicht sicher, ob mein Ansatz ist genau das, was der Reaktor-Plugin tut, aber ich fand die folgende Vorgehensweise für mich gut genug gearbeitet
mvn -pl=C,D,E -DskipTests=true package
Haben Sie versucht, einschließlich der Option -Dmaven.test .skip = true (beachten Sie den Fall) zu Ihrem Argument Befehlszeile Sie laufen? Wie Java, ist Maven Groß- und Kleinschreibung. Aber im Allgemeinen, können Sie einfach auf den = true Teil und das sollte auch bewirken, dass die Tests übersprungen werden.