2016-08-27 1 views
8

Wie würdest du es einem Webentwickler oder Programmierer erklären, der ein Beispiel aus der realen Welt hat (wie zB Facebook oder Google)?Was ist der Unterschied zwischen artifactId und groupId in pom.xml?

+0

Ich habe versucht, es selbst zu lernen, aber ich habe es schwer zu verstehen. Ich sah Videos, Links, einige Antworten in SO, nichts half. Also bitte hilf mir. – user3705478

+2

Mögliches Duplikat von [Maven artefact und groupId naming] (http://stackoverflow.com/questions/3724415/maven-artifact-and-groupid-naming) – Tunaki

Antwort

12

Von maven.apache.org, Naming Conventions:

artifactId ist der Name des Glases ohne Version. Wenn Sie es erstellt haben, können Sie den gewünschten Namen mit Kleinbuchstaben und ohne seltsame Symbole auswählen. Wenn es sich um ein Drittanbieter-Krug handelt, müssen Sie den Namen des Krugs übernehmen, wenn es verteilt wird. z. maven

groupId identifiziert Ihr Projekt eindeutig über alle Projekte, so dass wir ein Namensschema erzwingen müssen. Es muss den Regeln für den Paketnamen folgen, was bedeutet, dass es mindestens ein von Ihnen gesteuerter Domänenname sein muss, und Sie können so viele Untergruppen erstellen, wie Sie möchten. Weitere Informationen zu Paketnamen finden Sie unter. z. org.apache.maven, org.apache.commons

+1

Also sagen wir, meine Firma ABC hat beschlossen, mein Projekt ins Internet zu stellen Verwenden Sie die artifactId: , groupId: com.abc.www? Was passiert, wenn jemand mit demselben Namen für Artefakt ID und GroupId kommt. Dafür gibt es auch eine gewisse Wahrscheinlichkeit. – user3705478

+0

@ user3705478 Hm, interessante Frage. Sie können versuchen, ein neues Projekt zu erstellen, indem Sie die Werte eines bekannten Projekts verwenden und es sogar als Abhängigkeit hinzufügen, um es zu erkunden. Versuchen Sie beispielsweise, die Apache Commons-Bibliothek zu erstellen: mvn archetype: generate -DgroupId = org.apache.commons -DartifactId = commons-collections4 -DarchetypeArtifactId = maven-archetyp-quickstart -DinteractiveMode = false und fügen Sie dann die "echten" Commons hinzu Bibliothek als Abhängigkeit. Es scheint gut zu funktionieren. Ich bin mir nicht sicher, warum es intern keine Okklusion gibt. – Jameson

+0

Wenn Sie sagen, fügen Sie es als eine Abhängigkeit hinzu fügen Sie es zu zentralen universellen Repository oder zu meinem lokalen Projekt? – user3705478

Verwandte Themen