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的目录,就相当于资源根目录 。

猜你喜欢

转载自blog.csdn.net/illikang/article/details/83032370