Angenommen, ich mache einen vollständigen Build für mein großes Projekt mit 7 Modulen und für das 6. Modul ist der Build fehlgeschlagen, weil ein Test fehlgeschlagen ist. Gibt es eine Möglichkeit, den Build an dem Punkt zu starten, an dem er fehlgeschlagen ist?
85
subproject/subsubproject
als Parameter verwendenmaven -rf <module name> clean install
mvn -rf :moduleName install
. (Ich weiß nicht genau, warum der Doppelpunkt benötigt wird, aber es scheint - zumindest für mein Setup.)install
Ziel hatte, da der fortgesetzte Build dann die Artefakte abrufen kann, die bereits aus Ihrem lokalen Maven-Repository erstellt wurden, um Abhängigkeiten von ihnen aufzulösen. Ich finde es eine schlechte Praxis,install
Builds auszuführen, da Sie Ihr lokales Repository mit Snapshots überladen und möglicherweise von einem älteren Snapshot abhängig sind, als Sie erwarten. Sieht aus wie bei Builds, bei denen Sie nurpackage
und nicht verwendeninstall
. Die Verwendung-rf
ist keine Option: Sie müssen den gesamten Build ausführen.Hier ist das Beispiel
quelle
Mit dem
-rf
Befehl können Sie den Build von jedem gewünschten Modul aus fortsetzen . Wenn Ihr Build beispielsweise in myproject-proxy fehlgeschlagen ist, können Sie den folgenden Befehl verwenden:quelle
Schauen Sie sich die Maven-Zusammenfassung an und Sie werden die ausgeführten Module sehen und sehen, wo Maven gestoppt ist. dann versuchen Sie dies:
quelle
Syntax: mvn -rf Modulname mavengoal oder mvn --resume-from Modulname mavengoal
Beispiel: Neuinstallation von mvn -rf admin-module oder Neuinstallation von mvn --resume-from admin-module
quelle
-rf
ist nicht kurz für--remove-from
. Es ist die Abkürzung für--resume-from
Sie können den Build von Modul 6 separat ausführen, um festzustellen, ob er immer noch fehlschlägt. Ich befürchte jedoch, dass Sie alle Module von Anfang an erstellen müssen, wenn Sie den "großen" Build ausführen möchten.
Bearbeiten: Natürlich werden die nachfolgenden Builds schneller sein, da der Code der Module 1-5 bereits kompiliert ist, es sei denn, Sie führen Clean als Teil Ihres Builds aus.
quelle