Alle möglichen Ziele in Maven 2 auflisten?


105

Ich bin neu in Maven und komme aus der Ameisenwelt.

Ist es möglich, alle möglichen Ziele (einschließlich beispielsweise aller Plugins) aufzulisten, die Sie ausführen können?

Ich kann sehen, dass es -gin Maven 1 früher eine Flagge gab, aber diese ist in Version 2 nicht verfügbar.


4
Es macht mich verrückt, dass Maven diese Frage ohne XML-Seiten nicht beantworten kann! Gutes Zeug!
Kieveli

Antworten:


120

Das Ziel, das Sie in der Befehlszeile angeben, ist mit dem Lebenszyklus von Maven verknüpft . Beispielsweise besteht der buildLebenszyklus (Sie haben auch die cleanund siteLebenszyklen, die unterschiedlich sind) aus den folgenden Phasen:

  • validate: Überprüfen Sie, ob das Projekt korrekt ist und alle erforderlichen Informationen verfügbar sind.
  • compile: Kompilieren Sie den Quellcode des Projekts.
  • test: Testen Sie den kompilierten Quellcode mit einem geeigneten Unit-Test-Framework. Für diese Tests sollte nicht erforderlich sein, dass der Code gepackt oder bereitgestellt wird.
  • package: Nehmen Sie den kompilierten Code und verpacken Sie ihn in seinem verteilbaren Format, z. B. einer JAR.
  • integration-test: Verarbeiten und Bereitstellen des Pakets bei Bedarf in einer Umgebung, in der Integrationstests ausgeführt werden können.
  • verify: Führen Sie alle Überprüfungen durch, um sicherzustellen, dass das Paket gültig ist und die Qualitätskriterien erfüllt
  • install: Installieren Sie das Paket im lokalen Repository, um es als Abhängigkeit in anderen Projekten lokal zu verwenden.
  • deploy: Wird in einer Integrations- oder Release-Umgebung ausgeführt und kopiert das endgültige Paket in das Remote-Repository, um es mit anderen Entwicklern und Projekten zu teilen.

Sie können die Liste der „Kern“ Plugins finden Sie hier , aber es gibt viele andere Plugins, wie die Codehaus diejenigen, hier .


1
Schauen Sie sich die Lifecycle-Referenz an. Dort sind alle Lebenszyklus-Teile aufgelistet.
Salandur

51

Ist es möglich, alle möglichen Ziele (einschließlich beispielsweise aller Plugins) aufzulisten, die ausgeführt werden können?

Maven hat dafür nichts eingebaut, obwohl die Liste der Phasen endlich ist (die Liste der Plugin-Ziele ist nicht, da die Liste der Plugins nicht ist).

Sie können die Dinge jedoch vereinfachen und die Möglichkeiten der Bash-Vervollständigung (unter Verwendung von Cygwin unter Windows) nutzen, wie im Handbuch zur automatischen Vervollständigung von Maven 2.x mit BASH beschrieben (bevor Sie das Skript aus dieser Anleitung auswählen, lesen Sie weiter ).

Befolgen Sie zunächst diese Anleitung, um die Bash-Fertigstellung auf Ihrem Computer einzurichten. Dann ist es Zeit, ein Skript für Maven2 zu bekommen und:

Im Folgenden ist Folgendes aufgeführt, um das Ergebnis zu veranschaulichen:

$ mvn [tab] [tab]
 Alle 377 Möglichkeiten anzeigen? (y oder n)
Ameise: Ameise 
Ameise: sauber 
Ameise: Hilfe 
antrun: hilfe 
antrun: laufen 
Archetyp: crawlen 
Archetyp: erstellen 
Archetyp: Aus Projekt erstellen 
Archetyp: generieren 
Archetyp: Hilfe 
Montage: Montage 
Assembly: Verzeichnis 
Assembly: Verzeichnis-Single 
Montage: Hilfe 
Montage: einzeln  
... 

Natürlich stöbere ich nie in den 377 Möglichkeiten, ich benutze die Vervollständigung. Dies gibt Ihnen jedoch eine Vorstellung von der Größe einer "a" -Liste :)

Ressourcen


2
Habe es mir noch nicht angesehen, aber bietet das neue Maven ShellTool eine automatische Vervollständigung, die hier nützlich sein könnte?
Romain Linsolas

2
@romain Nein, mvnshbietet keine Vervollständigung (zumindest nicht in der Version, die ich auf meinem Computer habe). Ich habe vor der Beantwortung
nachgesehen

7

Wenn Sie IntelliJ IDEA verwenden, können Sie alle Maven-Ziele / Aufgaben (einschließlich Plugins) auf der Maven ProjectsRegisterkarte durchsuchen :

Maven-Projekte


2
Ich möchte dies über einen Befehl tun. Wie macht IntelliJ IDEA das?
Nacho4d

0

Machen wir es uns ganz einfach:

Maven-Lebenszyklen: 1. Reinigen 2. Standard (Build) 3. Site

Maven-Phasen des Standardlebenszyklus: 1. Validieren 2. Kompilieren 3. Testen 4. Paket 5. Überprüfen 6. Installieren 7. Bereitstellen

Hinweis: Mischen Sie sich nicht mit Maven-Zielen mit dem Maven-Lebenszyklus.

Siehe Maven Build Lifecycle Basics 1


0

Ein Build-Lebenszyklus 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):

  • validieren - validieren Sie, dass 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 nicht erforderlich sein, dass der Code gepackt oder bereitgestellt wird
  • package - Nehmen Sie den kompilierten Code und verpacken Sie ihn in seinem verteilbaren Format, z. B. einer JAR. überprüfen - Überprüfen Sie die Ergebnisse der Integrationstests, um sicherzustellen, dass die Qualitätskriterien erfüllt sind
  • install - Installiert das Paket im lokalen Repository, um es als Abhängigkeit in anderen Projekten lokal zu verwenden
  • Bereitstellen - In der Build-Umgebung wird das endgültige Paket in das Remote-Repository kopiert, um es für andere Entwickler und Projekte freizugeben.

Diese Lebenszyklusphasen (plus die anderen hier nicht gezeigten Lebenszyklusphasen) werden nacheinander ausgeführt, um den Standardlebenszyklus abzuschließen. In Anbetracht der obigen Lebenszyklusphasen bedeutet dies, dass Maven bei Verwendung des Standardlebenszyklus zuerst das Projekt validiert, dann versucht, die Quellen zu kompilieren, diese für die Tests auszuführen, die Binärdateien (z. B. jar) zu verpacken 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 in einem Remote-Repository bereit.

Quelle: https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.