Ich bin neu bei Maven und nutze das maven.Apache.orgTutorial hier als Einführung.
Im Abschnitt "Wie erstelle ich mein erstes Maven-Projekt?" Des Lernprogramms, lernen wir, ein Maven-Archetypprojekt zu generieren, indem Sie den folgenden Befehl ausführen:
mvn archetype:generate
Nachdem Maven viele Artefakte heruntergeladen hatte, wurde plötzlich angehalten und die folgende Frage gestellt in der Befehlszeile:
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 149:
Das Apache-Tutorial beschreibt diese Aufforderung nicht.
Ich habe zwei Fragen:
1. Nach was fragt die obige Frage? Wie sollte darauf geantwortet werden, dass der mvn archetype:generate
-Prozess fortgesetzt wird?
2. Verwenden Benutzer mvn archetype:generate
normalerweise, um ein Maven-Projekt zu erstellen?
-------------- Update ---------------------
In Bezug auf meine erste Frage habe ich die Eingabetaste gedrückt, ohne einen Wert einzugeben, und erhielt folgende Ausgabe:
Choose version:
1: 1.0-alpha-1
2: 1.0-alpha-2
3: 1.0-alpha-3
4: 1.0-alpha-4
5: 1.0
6: 1.1
Choose a number: 6:
Was ist das?
Ich habe im obigen Fall "1" eingegeben, dann habe ich folgende Dinge bekommen:
Define value for property 'package': : :
Define value for property 'groupId': :
Define value for property 'artifactId': :
...
Wie kann ich sie definieren?
Der Befehl mvn archetype:generate
wird zum Erstellen eines Projekts aus einer vorhandenen Vorlage verwendet. Es gibt mehrere Archetypen, die von vielen Entwicklern und Projektgruppen definiert werden. Wenn Sie den Befehl ausführen, führt maven folgende Schritte aus:
Nach der Eingabe dieser Informationen zeigt Maven Ihnen alle eingegebenen Informationen an und fordert Sie auf, die Projekterstellung zu überprüfen. Wenn Sie J drücken und dann die Eingabetaste drücken, wird Ihr Projekt mit dem ausgewählten Artefakt und den ausgewählten Einstellungen erstellt.
Sie können auch die Website von maven-archetype-plugin lesen.
Sie werden gefragt, mit welchem Archetyp Sie Ihr Projekt starten möchten. Wenn Sie bei der Eingabeaufforderung "Enter" drücken, erhalten Sie eine Liste der verfügbaren Optionen. Sie können maven-archetype-quickstart
verwenden, um einfach ein einfaches Projekt zu erstellen (dies kann Sie dazu auffordern, ein Repository auszuwählen. In diesem Fall geben Sie einfach die Nummer ein, die dem ersten Repository entspricht, das nach der Eingabe hier aufgelistet ist).
Um Ihre andere Frage zu beantworten: Ja, die Verwendung eines Archetyps ist ein üblicher Weg zum Einrichten eines neuen Projekts. Hauptsächlich, weil es für jede Art von Projekten/Modulen genügend Archetypen gibt. Wenn Sie wissen, welchen Archetyp Sie verwenden möchten, können Sie mit einem Bootstrap ein Projekt starten.
Ein kurzer Blick auf das Tutorial zeigt, dass Sie einige Parameter für den Archetyp: Generate-Befehl ausgelassen haben. Deshalb weiß es nicht, aus welchem Archetyp Ihr Lernprojekt generiert werden soll, und zeigt Ihnen alle verfügbaren Archetypen (149) an.
Erste Frage: Wenn Sie die Eingabetaste drücken, haben Sie den Vorschlag des Archetyp-Plugins akzeptiert und # 149 ausgewählt. Dieser Archetyp ist in verschiedenen Versionen vorhanden. Normalerweise wird, wie von Chris angegeben, das neueste ausgewählt.
Zweite Frage: Da ein Archetyp eine Art Vorlage ist, die Ihnen viel Arbeit ersparen kann: Ja, das ist üblich. Aber nicht der einzige Weg - Sie können immer mit einem leeren Projekt beginnen.
Sie können auch das Kurzformular verwenden
mvn archetype:generate -Dfilter=org.example.group:example-artifact
Oder auch nur eine Gruppe:
mvn archetype:generate -Dfilter=org.example.group:
Sie erhalten das folgende Artefakt (im ersten Fall), wenn es in einem konfigurierten Katalog vorhanden ist:
<groupId>org.example.group</groupId>
<artifactId>example-artifact</artifactId>
Oder Sie erhalten mehrere Vorschläge, wenn es mehr als einen Kandidaten gibt. Sie müssen sie auswählen, indem Sie den Index eingeben, der in der Auswahlliste angezeigt wird.
Konsultieren Sie maven website für mehr!