1. 程式人生 > >Maven中的GroupD和ArtifactID以及專案中的目錄結構

Maven中的GroupD和ArtifactID以及專案中的目錄結構

一,Maven座標

Maven在世界上擁有數量非常巨大的構建,也就是平時用的一些jar,war等檔案。如此眾多的元件,就難免會有重名的問題。因此maven引入了座標的概念。maven定義了 一組規則:

世界上任何一個構件都可以使用Maven座標唯一標誌,maven座標的元素包括groupID,artifactId,version,package,classifier。只要在pom.xml檔案中配置好dependency的groupID,artifactId,version,maven就會從倉庫中尋找相應的構建供我們使用。

二,GroupD和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是專案的唯一的識別符號,實際對應專案的名稱,就是專案根目錄的名稱。

三,命名規則 

如果要把專案弄到maven本地倉庫中,那專案就必須指定唯一的座標,即指定唯一的GroupD和ArtifactID。

1,建立maven專案:

2,GroupId一般分為多個段,第一段為域,第二段為公司名稱。域又分為org、com、cn等等許多,其中org為非營利組織,com為商業組織。舉個apache公司的tomcat專案例子:這個專案的GroupId

是org.apache,它的域是org(因為tomcat是非營利專案),公司名稱是apache,ArtifactId是tomcat。再比如我自己建專案,可以寫com.leon.

3,ArtifactId 是專案名稱,比如:apache的tomcat專案,再比如我自己的專案testProj。

四,專案路徑

專案建完以後,自動建立如下路徑:

根據專案需求,拓展路徑如下(為了演示,用的另外一個專案,忽視專案名的差異):

其中java資料夾,mark as Sources Root;resources資料夾,marked as Resources Root

如此,則專案中各種檔案的路徑如下:

Users類:com.leon.pojo.Prod, ProdMapper中resultType中引用如下,resultType="com.leon.pojo.Users"

MyBatisUtil類:com.leon.util.MyBatisUtil

mybatis-config.xml:就是專案跟目錄下mybatis-config.xml.在MyBatisUtil中讀取配置檔案,語句如下:InputStream is=Resources.getResourceAsStream("mybatis-config.xml");

ProdMapper.xml:mapper\ProdMapper.xml

由上可知,被mark as Sources Root的目錄,就相當於專案程式碼的根目錄。同樣的,被mark as Resources Root的目錄,就相當於資源根目錄 。