2016-07-26 40 views
7

Jestem nowy dla maven i jestem zdezorientowany na temat różnicy między artifactId i name.Różnica artefaktId i nazwa w maven POM

Wiem, że artifactId to nazwa artefaktu, który tworzysz. Wiem, że artifactId wraz z groupId służy do jednoznacznego identyfikowania artefaktu. A więc, co jest celem <name> w POM. jak pom poniżej dostałem z witryny jest artifactId i jednocześnie <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> 
+0

Czy te odpowiedzi pomogły? Jeśli tak, możesz [zaakceptować odpowiedź] (// stackoverflow.com/help/someone-answers). –

Odpowiedz

2

groupId, artifactId i version utworzenia kompozytu unikalny identyfikator (lub coordinate) dla tego projektu. Każda z tych wartości ma dość sztywną konwencję nazewnictwa, która umożliwia dobrze zorganizowane grupy, artefakty i wersje.

name jest po prostu czytelną nazwą projektu i nie musi być unikalna ani zgodna z tymi samymi konwencjami (może zawierać spacje i inne znaki).

+1

+1 - Nienawidzę dokumentacji, która po prostu mówi, co to jest: Identyfikator artefaktu to identyfikator identyfikujący Artefakt. O wiele lepiej jest dlaczego? Dlaczego istnieje identyfikator artefaktu? Dlaczego zespół tworzył go? Jaki problem wystąpił i jak ID artefaktu stał się rozwiązaniem? – codeputer

6

Masz rację, że artifactId pomaga w identyfikacji projektu.

name jest po prostu przyjazną dla człowieka nazwą "przyjazną". Nie jest wymagana do podstawowej konfiguracji.

Z Maven documentation,

artifactId: The artifactId jest ogólnie nazwa, że ​​projekt jest znany. Chociaż groupId jest ważne, osoby z grupy rzadko wspominają o groupId w dyskusji ... To, wraz z groupId, tworzy klucz, który oddziela ten projekt od każdego innego projektu na świecie (przynajmniej powinien :)) . Wraz z identyfikatorem groupId artefactId w pełni definiuje pomieszczenia mieszkalne artefaktów w repozytorium.