Ich bin neu bei Maven und komme aus der Ameisenwelt.
Ist es möglich, alle möglichen Ziele aufzulisten (einschließlich aller Plugins), die Sie ausführen können?
Ich kann sehen, dass es in Maven 1 ein -g
-Flag gab, das in Version 2 jedoch nicht verfügbar ist.
Das in der Befehlszeile angegebene Ziel ist mit dem Lebenszyklus von Maven verknüpft. Beispielsweise besteht der Lebenszyklus build
(Sie haben auch die Lebenszyklen clean
und site
, die sich unterscheiden) aus den folgenden Phasen:
validate
: Überprüfen Sie, ob das Projekt korrekt ist und alle erforderlichen Informationen verfügbar sind.compile
: kompiliert den Quellcode des Projekts.test
: Testen Sie den kompilierten Quellcode mit einem geeigneten Unit-Test-Framework. Für diese Tests sollte der Code nicht gepackt oder bereitgestellt werden.package
: Nehmen Sie den kompilierten Code und verpacken Sie ihn in seinem vertreibbaren Format (z. B. JAR).integration-test
: Verarbeiten Sie das Paket und stellen Sie es bei Bedarf in einer Umgebung bereit, in der Integrationstests ausgeführt werden können.verify
: Überprüfe, ob das Paket gültig ist und die Qualitätskriterien erfülltinstall
: Installieren Sie das Paket im lokalen Repository, um es lokal in anderen Projekten als Abhängigkeit zu verwenden.deploy
: Wird in einer Integrations- oder Release-Umgebung erstellt und kopiert das endgültige Paket in das Remote-Repository, um es mit anderen Entwicklern und Projekten zu teilen.Sie finden die Liste der "Kern" -Plugins hier , aber es gibt viele andere Plugins, wie die Codehaus-Plugins - hier .
Ist es möglich, alle möglichen Ziele aufzulisten (einschließlich aller Plugins), die ausgeführt werden können?
Maven hat dafür nichts eingebaut, obwohl die Liste der phase endlich ist (die Liste der plugin-Ziele ist nicht da die Liste der plugins nicht).
Sie können jedoch die Dinge einfacher machen und die Leistung von bash completion (mit cygwin unter Windows) nutzen, wie im Guide zu Maven 2.x Auto Completion mit BASH beschrieben (aber vorher zu wählen das Skript aus diesem Handbuch, lesen Sie weiter).
Um die Dinge zum Laufen zu bringen, folgen Sie zuerst diesem Leitfaden , um die Bash-Fertigstellung auf Ihrem Computer einzurichten. Dann ist es Zeit für ein Skript für Maven2 und:
maven
in Ubuntu enthalten ist), das Sie aus dem HEAD download herunterladen können. Es ist einfach das beste.Nachfolgend bekomme ich nur das Ergebnis zu veranschaulichen:
$ mvn [tab] [tab] Alle 377 Möglichkeiten anzeigen? (y oder n) ant: ant ant: clean ant: help antrun: help antrun: run archetype: crawl archetype: create archetype: create-from -project Archetyp: Generiere Archetyp: Hilfe Assembly: Assembly Assembly: Verzeichnis Assembly: Verzeichnis-Single Assembly: Hilfe Assembly: Einzel . ..
Natürlich schaue ich nie die 377-Möglichkeiten durch, ich verwende die Fertigstellung. Dies gibt Ihnen jedoch eine Vorstellung von der Größe der "a" -Liste :)
Lass es uns sehr einfach machen:
Lebenszyklen von Maven: 1. Reinigen 2. Standard (Build) 3. Seite? ˅
Maven-Phasen des Standardlebenszyklus: 1. Bestätigen 2. Kompilieren 3. Test 4. Paket 5. Vergewissern Sie sich, __. 6. Installieren Sie 7. Bereitstellen
Hinweis: Mischen Sie sich nicht mit Maven-Zielen mit Maven-Lebenszyklus.
Siehe Maven Build Lifecycle-Grundlagen 1
Ein Build Lifecycle besteht aus Phasen
Jeder dieser Build-Lebenszyklen wird durch eine andere Liste von Build-Phasen definiert, wobei eine Build-Phase eine Phase im Lebenszyklus darstellt.
Der Standardlebenszyklus umfasst beispielsweise die folgenden Phasen (eine vollständige Liste der Lebenszyklusphasen finden Sie in der Lebenszyklusreferenz):
Diese Lebenszyklusphasen (sowie die anderen hier nicht gezeigten Lebenszyklusphasen) werden nacheinander ausgeführt, um den Standardlebenszyklus abzuschließen. In den oben genannten Lebenszyklusphasen bedeutet dies, dass Maven bei der Verwendung des Standardlebenszyklus zunächst das Projekt validiert, dann versucht, die Quellen zu kompilieren, diese mit den Tests zu vergleichen, die Binärdateien (z. B. jar) zu packen und Integrationstests dagegen auszuführen Paket, überprüfen Sie die Integrationstests, installieren Sie das verifizierte Paket im lokalen Repository und stellen Sie das installierte Paket anschließend in einem Remote-Repository bereit.
Quelle: https://maven.Apache.org/guides/introduction/introduction-to-the-lifecycle.html