最近在学习使用maven做项目管理,但是对于pom文件中的groupID和artifactId怎么定义有疑问。我从书上看到的是这样的,groupId一般是域名的反写,也作为项目中类的包名,artifactId是工程名,也就是根文件夹名。所以是不是groupId就是包名,artifactId就是工程名?还是说都是随便取的(当然要根据实际使用,为了方便管理来取,不是纯粹的随便),如果不是有什么其他的要求吗?
GroupID是项目组织唯一的标识符, 比如我的项目叫test001 那么GroupID应该是 com.lixiaoming.test001 域名.公司名.项目名
ArtifactID就是项目的唯一的标识符, 一般是 项目名-xxx 比如test001-model
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
拓展资料:
GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。
ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
一般GroupID就是填com.info.test.这样子。
参考资料:百度百科-Maven
GroupID是指项目里面的标识,具体指对应的java的包结构,一般写法是com.mycom.myapp 其中mycom是指你公司的域名,例如com.google.myapp
ArtifactID是指项目的标识,大白话就是你的项目名。
例如下面这个例子:
生成的项目是:
groupid和artifactid怎么写比较合适:
这两个属性,就可以理解成地球上的经纬度,maven仓库,就是相应的地球。当我们要去某一个点找寻龙珠的时候,必要通过龙珠搜索器才能找得到。龙珠搜索器就是通过“经纬度”才能定位到龙珠的地点!
groupid呢,分为三段
第一段:域。常见的有:cn(china),org(非营利组织),com(商业组织)
第二段:组织。如果你是美团的,就是meituan。如果是个人的小项目,比如说,就是Only。
第三段:子项目。你创建这个项目,肯定是有名字的对伐。这里,就写你项目的名字。
artifactid呢,我觉得一段两段都可以
一段怎么讲?就是子项目名就ok
两端怎么说?子项目还能继续细分,比如测试项目,那就是xxx-test。再比如说练习项目,那就是xxx-train。
本回答被网友采纳groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。
groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。
groupId :the unique identifier of the organization or group that created the project
artifactId :unique base name of the primary artifact being generated by this project
GroupID 是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。
ArtifactID是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
com.yucong.commonmaven
common maven
0.0.1-SNAPSHOT
jar
common_maven
groupId
定义了项目属于哪个组,举个例子,如果你的公司是mycom,有一个项目为myapp,那么groupId就应该是com.mycom.myapp.artifacted,定义了当前maven项目在组中唯一的ID,比如,myapp-util,myapp-domain,myapp-web等。
version:指定了myapp项目的当前版本,SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的版本。
name:声明了一个对于用户更为友好的项目名称,不是必须的,推荐为每个pom声明name,以方便信息交流。
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会在需要的时候去那里下载。
GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。
ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
一般GroupID就是填com.info.test.这样子。
本回答被网友采纳