本文主要是介绍groupId 和 artifactId 详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、基础知识必备
groupid
和artifactId
被统称为"坐标"是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id
去查找。groupId
和artifactId
是maven管理项目包时用作区分的字段,就像是地图上的坐标。
<groupId>org.example</groupId>
<artifactId>practice</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>practice Maven Webapp</name>
- groupId:是公司项目组唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。 groupId分为几个字段,例如org.example,前面的org叫【域】,后面的是你自己起的域名。
- artifactId:是项目组中的某模块的唯一的标识符,实际对应小项目的名称。artifactId一般是项目名或者模块名。
- version:指定了myapp项目的当前版本,SNAPSHOT意为快照,其中1.0是版本号。说明该项目还处于开发中,是不稳定的版本。而衍生的有Release版本则代表稳定的版本。
- name:声明了一个对于用户更为友好的项目名称,不是必须的,推荐为每个pom声明name,以方便信息交流。
groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织,cn代表域为中国。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。
2、groupId 和包结构的一般对应关系?
3、jar 包名称和 groupId 的关系?
4、name 标签里的名称与什么有关系?
由以上对比可得出,name标签里的名称与jar包名称无关,jar包名称仍然取决于artifactId+version的组合
name标签里的名称与Maven产生的文档有关,这里的名称可以声明一个对于用户更为友好的项目名称,以方便信息交流。
这篇关于groupId 和 artifactId 详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!