2016-07-26 31 views
7

Ich bin neu zu maven und ich bin verwirrt über den Unterschied zwischen den artifactId und name.Unterschied von artifactId und Name in maven POM

Was ich weiß, ist artifactId ist der Name des Artefakts, das Sie erstellen. Ich weiß, dass artifactId zusammen mit der groupId verwendet wird, um ein Artefakt eindeutig zu identifizieren. Also was ist <name> Zweck in POM. wie die pom unten habe ich von einer seite gibt es eine artifactId und gleichzeitig eine <name>10.

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

Haben diese Antworten Ihnen geholfen? Wenn dies der Fall ist, können Sie [Antwort akzeptieren] (// stackoverflow.com/help/someone-answers). –

Antwort

2

Die groupId, artifactIdversion und bilden einen Verbund eindeutige Kennung (oder coordinate) für dieses Projekt. Jeder dieser Werte hat eine ziemlich strenge Namenskonvention, die gut organisierte Gruppen, Artefakte und Versionen erlaubt.

Die name ist einfach ein lesbarer Name für das Projekt und muss nicht auf die gleichen Konventionen einzigartig oder erfüllen sein (so kann er Leerzeichen und andere Zeichen enthalten).

+1

+1 - Ich hasse Dokumentation, die einfach sagt, was es ist: Artefakt-ID ist eine ID, die das Artefakt identifiziert. Viel besser ist warum? Warum gibt es eine Artefakt-ID? Warum hat das Team es erschaffen? Welches Problem ist aufgetreten und wie wurde die Artefakt-ID zu einer Lösung? – codeputer

6

Sie haben Recht, dass die artifactId hilft, das Projekt zu identifizieren.

Die name ist einfach ein menschlich lesbarer "freundlicher" Name. Es ist nicht für eine grundlegende Einrichtung erforderlich.

Vom Maven documentation,

artifactId: Die artifactId ist in der Regel der Name, dass das Projekt von bekannt ist. Obwohl die groupId wichtig ist, werden die Leute innerhalb der Gruppe die groupId nur selten in der Diskussion erwähnen ... Sie erzeugen zusammen mit der groupId einen Schlüssel, der dieses Projekt von jedem anderen Projekt der Welt trennt (zumindest sollte es :)) . Zusammen mit der GroupId definiert die artifactId vollständig die Lebensräume des Artefakts im Repository.