Was genau sind die Unterschiede zwischen mvn clean packageund mvn clean install? Wenn ich diese beiden Befehle ausführe, scheinen beide dasselbe zu tun.
Was genau sind die Unterschiede zwischen mvn clean packageund mvn clean install? Wenn ich diese beiden Befehle ausführe, scheinen beide dasselbe zu tun.
Antworten:
Nun, beide werden sauber. Das heißt, sie entfernen den Zielordner. Die eigentliche Frage ist, was ist der Unterschied zwischen Paket und Installation?
packagekompiliert Ihren Code und verpackt ihn auch. Wenn Ihr POM beispielsweise angibt, dass das Projekt ein JAR ist, erstellt es ein JAR für Sie, wenn Sie es verpacken und irgendwo im Zielverzeichnis ablegen (standardmäßig).
installwird kompiliert und verpackt, aber es wird auch das Paket in Ihrem lokalen Repository ablegen. Dadurch können andere Projekte darauf verweisen und es aus Ihrem lokalen Repository abrufen.
mvn clean installist nicht schneller als mvn package.
Was clean macht (gemeinsam in beiden Befehlen) - entfernt alle Dateien, die vom vorherigen Build generiert wurden
Kommend auf die Differenz zwischen den Befehlen verpacken und installieren , müssen Sie zunächst das verstehen Lebenszyklus eines Maven - Projekt
Dies sind die Standardlebenszyklusphasen in maven
Wenn Sie einen Befehl für eine der Lebenszyklusphasen ausführen, führt Maven jede Standardlebenszyklusphase der Reihe nach aus, bevor Sie den Befehl selbst ausführen.
Reihenfolge der Ausführung
validieren >> kompilieren >> testen (optional) >> paket >> verifizieren >> installieren >> bereitstellen
Wenn Sie also den Befehl mvn package ausführen, werden die Befehle für alle Lebenszyklusphasen bis package ausgeführt
validieren >> kompilieren >> testen (optional) >> Paket
Bei der mvn-Installation werden die Befehle für alle Lebenszyklusphasen bis zur Installation ausgeführt, einschließlich des Pakets
validieren >> kompilieren >> testen (optional) >> paket >> verifizieren >> installieren
Effektiv bedeutet dies, dass Installationsbefehle alles tun, was das Paket beinhaltet tun, und noch mehr (Installieren Sie das Paket im lokalen Repository, um es als Abhängigkeit in anderen Projekten lokal zu verwenden).
Quelle: Maven-Lebenszyklusreferenz
Das Paket generiert Jar / War gemäß POM-Datei. install installiert die generierte JAR-Datei im lokalen Repository für andere Abhängigkeiten, falls vorhanden.
installieren Phase kommt nach Paket Phase
Paket & Installation sind verschiedene Phasen im Maven-Build-Lebenszyklus. Die Paketphase führt alle vorherigen Phasen aus und endet mit dem Verpacken des Projekts als Glas. In ähnlicher Weise führt die Installationsphase alle vorherigen Phasen aus und installiert das Projekt schließlich lokal für andere abhängige Projekte.
Um den Lebenszyklus eines Maven-Builds zu verstehen, klicken Sie bitte auf den folgenden Link: https://ayolajayamaha.blogspot.in/2014/05/difference-between-mvn-clean-install.html
packagewird gepackt jaroder warzu Ihrem targetOrdner hinzugefügt. Wir können es überprüfen, wenn wir den Zielordner (mit mvn clean) leeren und dann ausführen mvn package.
installwird alle Dinge tun, die tun package, zusätzlich wird es gepackt jaroder auch warim lokalen Repository hinzufügen . Wir können dies bestätigen, indem wir Ihren .m2Ordner einchecken .
packageundinstall.