web-dev-qa-db-fra.com

différence d'artefactId et de nom dans maven POM

Je suis nouveau sur maven et je suis confus quant à la différence entre artifactId et name.

Ce que je sais, c'est que artifactId est le nom de l'artefact que vous créez. Je sais que artifactId avec groupId est utilisé pour identifier de façon unique un artefact. Donc qu'est-ce <name> but dans POM. comme le pom ci-dessous que j'ai obtenu d'un site, il y a un artifactId et en même temps un <name>.

<groupId>org.sonatype.mavenbook.multi</groupId>
<artifactId>simple-parent</artifactId>
<packaging>pom</packaging>
<version>1.0</version>
<name>Multi Chapter Simple Parent Project</name>
23
javako

Vous avez raison: artifactId aide à identifier le projet.

name est simplement un nom "convivial" lisible par l'homme. Il n'est pas requis pour une configuration de base.

De la documentation Maven ,

artifactId : L'artéfactId est généralement le nom sous lequel le projet est connu. Bien que le groupId soit important, les personnes au sein du groupe mentionneront rarement le groupId dans la discussion ... Il, avec le groupId, crée une clé qui sépare ce projet de tous les autres projets dans le monde (au moins, il devrait :)) . Avec groupId, l'artefactId définit entièrement les logements de l'artefact dans le référentiel.

15
cricket_007

groupId, artifactId et version forment un identifiant unique composite (ou coordonnée ) pour ce projet. Chacune de ces valeurs a une convention de dénomination assez rigide qui permet des groupes, des artefacts et des versions bien organisés.

name est simplement un nom lisible pour le projet et n'a pas besoin d'être unique ou de se conformer aux mêmes conventions (il peut donc contenir des espaces et d'autres caractères).

8
tchambers