Maven中GroupID 和ArtifactID詳解


解釋:

groupId :the unique identifier of the organization or group that created the project 
GroupID 是項目組織唯一的標識符,實際對應JAVA的包的結構,是main目錄里java的目錄結構。 
artifactId :unique base name of the primary artifact being generated by this project 
ArtifactID是項目的唯一的標識符,實際對應項目的名稱,就是項目根目錄的名稱。

-----------------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.packing


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM