groupId :the unique identifier of the organization or group that created the project
artifactId :unique base name of the primary artifact being generated by this project
GroupID 是項目組織惟一的標識符,實際對應JAVA的包的結構,是main目錄裏java的目錄結構。
ArtifactID是項目的惟一的標識符,實際對應項目的名稱,就是項目根目錄的名稱。 java
-----------------1 基礎知識必備----------------------------
<groupId>com.yucong.commonmaven</groupId>
<artifactId>commonmaven</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>common_maven</name>
groupId
定義了項目屬於哪一個組,舉個例子,若是你的公司是mycom,有一個項目爲myapp,那麼groupId就應該是com.mycom.myapp.
artifacted
定義了當前maven項目在組中惟一的ID,好比,myapp-util,myapp-domain,myapp-web等。
version
指定了myapp項目的當前版本,SNAPSHOT意爲快照,說明該項目還處於開發中,是不穩定的版本。
name
聲明瞭一個對於用戶更爲友好的項目名稱,不是必須的,推薦爲每一個pom聲明name,以方便信息交流。
-----------------2 何爲mave座標----------------------------
maven的世界中擁有數量很是巨大的構件,也就是平時用的一些jar,war等文件。
maven定義了這樣一組規則:
世界上任何一個構件均可以使用Maven座標惟一標誌,maven座標的元素包括groupId, artifactId, version,package,classifier。
只要在pom.xml文件中配置好dependancy的groupId,artifact,verison,classifier,
maven就會從倉庫中尋找相應的構件供咱們使用。那麼,"maven是從哪裏下載構件的呢?"
答案很簡單,maven內置了一箇中央倉庫的地址(http://repol.maven.org/maven2),該中央倉庫包含了世界上大部分流行的開源項目構件,maven會在須要的時候去那裏下載。
-----------------3 座標詳解----------------------------
<groupId>org.sonatype.nexus</groupId>
<artifactId>nexus-indexer</artifactId>
<version>2.0.0</version>
<packaging>jar</packaging>
groupId
定義當前maven項目隸屬的實際項目。
groupId的表示方式與Java包名的表示方式相似,如: <groupId>org.sonatype.nexus</groupId>
artifactId
該元素定義實際項目中的一個Maven項目(模塊),推薦的作法是使用實際項目的名稱做爲artifactId的前綴。
如:<artifactId>nexus-indexer</artifactId>
在默認狀況下,maven生成的構件,其文件名會以artifactId做爲開頭,如:nexus-indexer-2.0.0.jar。
packaging【可選的,默認爲jar】:
當不定義packaging時,maven會使用默認值jar。
classifier:
該元素用來幫助定義構件輸出的一些附屬構件。
項目構件的文件名是座標相對應的,通常的規則爲:artifact-version.packingweb