Maven中dependency三剑客浅谈(二)

举报
Aion 发表于 2022/09/18 19:26:34 2022/09/18
【摘要】 maven是一款项目管理工具软件,可以通过一小段信息来描述、管理、报告的管理工具。maven除了简单的程序构建外,还提供了高级的项目管理。Maven 是 Java 生态系统中最流行的构建工具之一,其核心特性之一是依赖管理。下面我们将描述和探索有助于管理 Maven 项目中的三剑客【groupId】、【artifactId】、【version】。

maven是一款项目管理工具软件,可以通过一小段信息来描述、管理、报告的管理工具。maven除了简单的程序构建外,还提供了高级的项目管理。Maven 是 Java 生态系统中最流行的构建工具之一,其核心特性之一是依赖管理。下面我们将描述和探索有助于管理 Maven 项目中的三剑客【groupId】、【artifactId】、【version】。


示例

首先看下我们通常使用过程中的实例,如下图所示:

image.png

在上述代码中,最主要的三个元素加上一个区域构建成了一个项目模块的基本坐标。在Maven的世界中,不管是jar、pom、war,都基本上是基于这个坐标在仓库中来定位这个项目。


组ID【groupId】

从字面意思上来看,简单来说——组ID,那么groupId则是定义项目属于哪一个组,这个组往往是和项目所在的组织或者公司存在一定的关联或常态的标识他们。

image.png

例如这个就是一个比较明显的例子——com.alibaba,从这个我们可以看出来他属于阿里巴巴。我们从maven的官方仓库或阿里巴巴仓库或其他仓库可以根据这个定位到他们其他的项目,从maven仓库定位后,我们还可以找到属于这个公司的其他项目,例如

image.png


组件ID【artifactId】

从字面意思上来看,简单来说——组件ID或者人工编号,那么artifactId则定义了在当前的组中的唯一ID,前面的junit项目组中的定义的组件编号则是junit(我们发现他们同名了,这个只要在同一个项目模块中是允许的),当然fastjson也是com.alibaba其中的一个编号。当然,阿里巴巴还有其他的组件ID,例如上图中的dubbo、easyexcel等。


版本【version】

这个,我想你最熟悉不过了,他是指当前项目的使用的版本,在maven中,任何一个组件都必须要有自己的版本。

maven中的版本有很多,例如:1.0-SNAPSHOT、1.1、2022.1、6.3.2.Final、5.2.22.RELEASE、2.6-alpha等各种样式、版本。


快照版本

其中,SNAPSHOT意思为快照版本,说明该项目还在处于开发中,是不稳定的版本。他的下一个版本则是测试版本。



测试版本

测试版本也分为很多,例如alpha、beta。他俩唯一的的不同点在于内部测试还是外部测试。

image.png


生产版本

Final意思为最终版本,类似的还有其他的一些例如:rc、final、stable、release、GA、RELEASE等。

image.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。