MAVEN中的GROUP ID与ARTIFACTID

GroupID和ArtifactID

在每次建立maven web项目的时候,选好web文件,到填写group Id与ArtifactId的时候就懵逼了,这篇文章,主要是关于怎么对group Id与ArtifactId方式,以解决困扰自己的长期问题

  • GroupID 是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构
  • ArtifactID是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。

1、基础知识必备

<groupId>com.yucong.commonmaven</groupId>
<artifactId>commonmaven</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>common_maven</name> 
  • groupid:定义了项目属于哪个组,举个例子,如果你的公司是mycom,有一个项目为myapp,那么groupId就应该是com.mycom.myapp.
  • artifacted :定义了当前maven项目在组中唯一的ID,比如,myapp-util,myapp-domain,myapp-web等
  • version :指定了myapp项目的当前版本,SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的版本
  • name :声明了一个对于用户更为友好的项目名称,不是必须的,推荐为每个pom声明name,以方便信息交流

2、何为mave坐标

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会在需要的时候去那里下

3、其他文件解释

  • packaging【可选的,默认为jar】: 当不定义packaging时,maven会使用默认值jar。
  • classifier: 该元素用来帮助定义构件输出的一些附属构件。
  • 项目构件的文件名是坐标相对应的,一般的规则为:artifact-version.packing

以上参考资料:https://blog.csdn.net/zhangxingyu126/article/details/81013315

命名规则

在Java开发手册中,GroupIDArtifactID被规到工程结构中的二方依赖库里的内容,现主要内容摘抄如下

定义GAV(GroupID、ArtifactID、Version)遵从以下原则

1、GroupID格式:com.{公司/BU}.业务线.[子业务线],最多四级

说明:{公司/BU},例如,alibaba/taobao/tmall/aliexpress等BU一级,子业务线可选

正例: com . taobao . jstorm 或 com.alibaba.dubbo.register

2、 ArtifactID 格式:产品线名-模块名。语义不重复不遗漏,先到中央仓库去查证一下

正例: dubbo - client / fastjson - api / jstorm - tool

3、Version命名方式:主版本号.次版本号.修订号

修订号 修订号:修复 bug ,没有修改方法签名的功能加强,保持 API 兼容性。
说明:注意:起始版本号必须为: 1.0.0 ,而不是 0.0.1 正式发布的类库必须先去中央仓库进行查证,使版本号有延续性,正式版本号不允许覆盖升级。如当前版本:1.3.3,那么下一个合理的版本号:1.3.4 或 1.4.0 或 2.0.0

结构显示

如图所示,我的groupId是:com.mycom.app,artifactId是app-util,项目名称显示的是去掉中间-的artifactId即apputil

原文地址:https://www.cnblogs.com/lindaiyu/p/10922277.html

时间: 2024-08-05 16:30:28

MAVEN中的GROUP ID与ARTIFACTID的相关文章

maven中GroupID 和ArtifactID怎么写

原文地址:http://www.cnblogs.com/panxuejun/p/6184072.html 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 是项目组织唯一的标识符,实际对应JA

maven中pom.xml中配置整理: groupId、artifactId、parent、dependency、dependencyManagement区别

1 <groupId>com.mycompany.commonmaven</groupId> 2 <artifactId>commonmaven</artifactId> 3 <version>0.0.1-SNAPSHOT</version> 4 <packaging>jar</packaging> 5 <name>common_maven</name> groupId 定义了项目属于哪

【狂人小白】如何将Java项目发布到Maven中

将Java项目发布到Maven中 如何通过Sonatype进行发布Maven操作,并且能够在http://search.maven.org 中搜索到关键步骤:1. 申请OSS账号2. 通过gpg创建密钥3. 完善setting.xml和pom.xml4. 发布审核 A. 申请Sonatype账号 注册地址: https://issues.sonatype.org/secure/Signup!default.jspa B. 创建Issue 创建地址: https://issues.sonatype

maven中pom.xml标签介绍

pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素. 1 <span style="padding:0px; margin:0px"><project xmlns="http://maven.apache.org/POM/4.0.0" 2 xmlns:xsi="htt

maven中pom解析

pom.xml <project> <parent> ... </parent> <modelVersion>4.0.0</modelVersion> <!-- The Basics --> <groupId>...</groupId> <artifactId>...</artifactId> <version>...</version> <packagin

Maven中pom.xml文件的配置

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd "> <!-- 父项目的坐标.如

在Maven中设置Nexus私有服务为中央工厂

在Maven中设置Nexus私有服务为中央工厂(repository) 2015-12-12 17:45 168人阅读 评论(0) 收藏 举报  分类: Maven(17)  版权声明:本文为博主原创文章,未经博主允许不得转载. nexus中的仓库列表 第一种方式: <repositories>  <repository>  <id>nexus</id>  <name>nexus Repository</name>  <url&

在 maven 中使用 snapshots 版本的 jar 包

1. 首先需要在 pom.xml 中配置如下的 snapshots 仓库 <repositories> <repository> <id>oss-snapshots</id> <url>https://oss.sonatype.org/content/repositories/snapshots</url> <releases> <enabled>false</enabled> </relea

理解Maven中的SNAPSHOT版本和正式版本

Maven中建立的依赖管理方式基本已成为Java语言依赖管理的事实标准,Maven的替代者Gradle也基本沿用了Maven的依赖管理机制.在Maven依赖管理中,唯一标识一个依赖项是由该依赖项的三个属性构成的,分别是groupId.artifactId以及version.这三个属性可以唯一确定一个组件(Jar包或者War包). 其实在Nexus仓库中,一个仓库一般分为public(Release)仓和SNAPSHOT仓,前者存放正式版本,后者存放快照版本.如果在项目配置文件中(无论是build