最近在学用springboot做前后端分离的项目,发现maven的pom.xml文件中有很多依赖,其中用groupId和artifactId。
心血来潮整理下groupId和artifactId的作用:
什么是groupId和artifactId?
我们在创建一个springboot项目时,会要让我们填写groupId和artifactId,如下图所示:
groupId:是项目组织唯一的标识符,实际对应java包的结构,是main目录里java的目录结构
artifactId:就是项目唯一的标识符,实际项目的名称
groupId一般分为多个段,这里只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非盈利阻止,com为商业阻止。比如apache公司的tomcat项目,groupId为org.apache,它的域为org,公司名称为apache,artifactId为tomcat
groupId和artifactId的作用是啥呢?
- groupid和artifactId都统称为“坐标”,是为了保证项目唯一性而提出的
- maven 使用groupId和artifactId 作为坐标来确定该项目的标识
一般地,包名根目录=groupId+artifactId。这个是不允许和别人重复的,尤其是需要上线的项目。一般公司为了不重复都会注册一个域名(URL用的那种),这样就肯定不会重复了。
最后举个例子
比如
比如
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
groupId是org.springframework
artifactId是spring-core
这样就可以让maven知道这个jar或者pom所依赖的jar包的位置。
version是该项目的版本号。
由groupId和artifactId来确定唯一的项目。version决定版本号。