前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开发经验|Maven中dependency浅谈

开发经验|Maven中dependency浅谈

原创
作者头像
Aion
发布2023-11-20 18:03:38
1350
发布2023-11-20 18:03:38
举报

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

1 示例

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

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

2 组ID【groupId】

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

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

3 组件ID【artifactId】

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

4 版本【version】

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

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

4.1 快照版本

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

4.2 测试版本

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

4.3 生产版本

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

5 总结

对于中年人来说,学习新技能或知识并不晚。事实上,许多人都是在中年甚至老年时才找到自己真正热爱的事情并开始学习。我感觉学习给予我最大的快乐就是预防以后的老年痴呆症。


我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 示例
  • 2 组ID【groupId】
  • 3 组件ID【artifactId】
  • 4 版本【version】
    • 4.1 快照版本
      • 4.2 测试版本
        • 4.3 生产版本
        • 5 总结
        相关产品与服务
        项目管理
        CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档