1. 程式人生 > 實用技巧 >maven專案建立時GroupId和ArtifactID介紹

maven專案建立時GroupId和ArtifactID介紹

maven專案建立時GroupId和ArtifactID介紹

建立maven專案時:

QQ瀏覽器截圖20200512210752.png

name:專案名字

Location:專案地址

artifact coordinator:意思是專案在maven倉庫中的座標

  • GroupID和ArtifactID被統稱為“座標”是為了保證專案唯一性而提出的,如果你要把專案放到maven本地倉庫中去,你想要找到你的專案就必須根據這兩個id去查詢。
  • GroupID一般分為多個段,一般而言,第一段為域,第二段為公司名稱。域又分為org、com、cn等等,簡單說一下,org為非盈利組織,com為商業組織。舉個apache公司的tomcat專案為例子:這個專案的GroupID為org.apache,它的域為org(因為tomcat為非盈利專案),公司為apache,ArtifactID是tomcat。
  • Version:版本

拓展:

1、maven座標:

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會在需要的時候去那裡下載。

2、座標詳解

對應上面的座標:

org.sonatype.nexus

nexus-indexer

2.0.0

jar

groupId

定義當前maven專案隸屬的實際專案。

groupId的表示方式與Java包名的表示方式類似,如: org.sonatype.nexus

artifactId

該元素定義實際專案中的一個Maven專案(模組),推薦的做法是使用實際專案的名稱作為artifactId的字首。

如:nexus-indexer

在預設情況下,maven生成的構件,其檔名會以artifactId作為開頭,如:nexus-indexer-2.0.0.jar。

packaging【可選的,預設為jar】:

當不定義packaging時,maven會使用預設值jar。

classifier:

該元素用來幫助定義構件輸出的一些附屬構件。

專案構件的檔名是座標相對應的,一般的規則為:artifact-version.packing