Comment créer un projet en utilisant maven-archetype-plugin? Qu’est ce que l’artefactId etc?

Je suis nouveau sur Maven et j’utilise le tutoriel maven.apache.org ici en introduction.

Dans la section « Comment créer mon premier projet Maven? » Du didacticiel, nous apprenons à générer un projet d’archétype Maven en exécutant la commande suivante:

mvn archetype:generate 

Après que Maven ait téléchargé de nombreux artefacts, il s’est soudainement arrêté et a posé la question suivante sur la ligne de commande:

 Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 149: 

Le tutoriel Apache ne décrit pas cette invite.

J’ai deux questions:

1. Quelle est la question ci-dessus demandée? Comment devrait-on y répondre de telle sorte que le mvn archetype:generate se poursuive?

2. Conventionnellement, les gens utilisent- mvn archetype:generate pour créer un projet Maven?

————–Mettre à jour———————

En ce qui concerne ma 1ère question, j’ai appuyé sur “enter” sans saisir aucune valeur et obtenu la sortie suivante:

 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: 

Qu’est-ce que c’est?

Je saisis “1” dans le cas ci-dessus, puis j’ai les choses suivantes:

 Define value for property 'package': : : Define value for property 'groupId': : Define value for property 'artifactId': : ... 

Comment puis-je les définir?

mvn archetype:generate commande mvn archetype:generate est utilisée pour créer un projet à partir d’un modèle existant. Plusieurs archétypes sont définis par de nombreux développeurs et groupes de projets. Lorsque vous exécutez la commande, maven effectue les opérations suivantes:

  1. Téléchargements dernière version du plugin maven-archetype.
  2. Répertorie tous les archétypes pouvant être utilisés pour créer un projet. Si vous avez défini un archétype lors de l’appel de la commande, maven passe à l’étape 4.
  3. Par défaut, maven choisit l’ archétype maven-archetype-quickstart qui crée un projet Hello World avec des classes source et de test. Si vous souhaitez créer un projet simple, vous pouvez simplement appuyer sur Entrée pour continuer. Si vous souhaitez créer un type d’application spécifique, vous devez trouver l’archétype correspondant à vos besoins et entrer le numéro de cet archétype, puis appuyer sur Entrée. Par exemple, si vous souhaitez créer un projet Webapp, vous pouvez entrer 153 (il s’agit du nombre actuel de cet archétype, il peut changer dans le temps).
  4. Comme les archétypes sont des modèles et qu’ils ont l’intention de refléter les meilleures pratiques actuelles, ils peuvent évoluer dans le temps, ils ont donc leurs propres versions. Maven vous demandera quelle version de l’archétype vous souhaitez utiliser. Par défaut, maven choisit la dernière version pour vous. donc, si vous acceptez d’utiliser la dernière version d’un archétype, appuyez simplement sur Entrée à cette étape;
  5. Chaque projet maven (et module) a ses groupId, artefactId et version. Maven vous les demandera ensuite en trois étapes. groupId: Ceci est généralement unique parmi une organisation ou un projet. artifactId: l’artefactId est généralement le nom par lequel le projet est connu. version: Ceci est la dernière pièce du puzzle de nommage. (en savoir plus )
  6. Enfin, maven vous demandera la structure du paquet pour votre code. Une bonne pratique consiste à créer votre structure de dossiers qui reflète le groupId, ainsi Maven le définit par défaut, mais vous êtes libre de le modifier.

Après avoir saisi ces informations, Maven vous montrera toutes les informations que vous avez saisies et vous demandera de vérifier la création du projet. Si vous appuyez sur Y puis entrez, le projet est créé avec l’artefact et les parameters choisis.

Vous pouvez également lire le site d’utilisation de maven-archetype-plugin .

Il vous demande quel archétype vous souhaitez utiliser pour créer votre projet. Si vous appuyez sur “Entrée” à cette invite, cela vous donnera une liste de choix disponibles. Vous pouvez utiliser maven-archetype-quickstart pour créer un projet simple (cela peut vous inciter à choisir un référentiel après cela, dans ce cas, entrez simplement le numéro qui correspond au premier référentiel répertorié après avoir entré ceci).

Pour répondre à votre autre question: oui, utiliser un archétype est un moyen courant de créer un nouveau projet. Principalement parce qu’il existe de nombreux archétypes pour tous les types de projets / modules. Une fois que vous savez quel type d’archétype vous voulez, l’utiliser pour démarrer un projet est la manière la plus simple de commencer.

Un rapide coup d’œil au tutoriel révèle que vous avez omis certains parameters de la commande archetype: generate. C’est pourquoi il ne sait pas de quel archétype choisir pour générer votre projet de tutoriel et vous présente tous les archétypes disponibles (149).

Première question: en appuyant sur la touche retour, vous avez accepté la suggestion du plug-in d’archétype et choisissez # 149. Cet archétype se termine dans différentes versions et normalement, comme l’a déclaré Chris, il est acceptable de choisir la dernière version – ici 1.1.

Deuxième question: comme un archétype est une sorte de modèle qui peut vous faire économiser beaucoup de travail: Oui, c’est courant. Mais pas la seule façon – vous pouvez toujours commencer par un projet vide.

Vous pouvez également utiliser le formulaire court

 mvn archetype:generate -Dfilter=org.example.group:example-artifact 

Ou même seulement un groupe:

 mvn archetype:generate -Dfilter=org.example.group: 

Vous obtiendrez l’artefact suivant (dans le premier cas) s’il existe dans un catalogue configuré:

 org.example.group example-artifact 

Ou vous obtiendrez plusieurs suggestions s’il y a plus d’un candidat. Vous devrez donc les choisir en entrant l’index affiché dans la liste de choix.

Consultez le site maven pour plus d’informations!