技术:Maven中dependency三剑客浅谈(二)

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

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


示例

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

image.png

在上述代码中,最主要的三个元素加上一个区域<dependency></dependency>构建成了一个项目模块的基本坐标。在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

相关文章
|
7月前
|
Java 关系型数据库 数据库连接
|
7月前
|
XML Java Shell
【深入浅出Maven开发实战】「入门教程系列」带你零基础学习和开发使用Maven开发工具实战指南(实战技术总结)(一)
【深入浅出Maven开发实战】「入门教程系列」带你零基础学习和开发使用Maven开发工具实战指南(实战技术总结)
221 1
|
7月前
|
XML Java Maven
【Maven技术专题】「知识盲区」教你如何使用深入分析Maven配置私服仓库的使用指南
【Maven技术专题】「知识盲区」教你如何使用深入分析Maven配置私服仓库的使用指南
131 0
|
7月前
|
XML Java Maven
【Maven技术专题】「实战开发系列」盘点Maven项目中打包需要注意到的那点事儿
【Maven技术专题】「实战开发系列」盘点Maven项目中打包需要注意到的那点事儿
163 1
|
7月前
|
XML Java Maven
【深入浅出Maven开发实战】「入门教程系列」带你零基础学习和开发使用Maven开发工具实战指南(实战技术总结)(二)
【深入浅出Maven开发实战】「入门教程系列」带你零基础学习和开发使用Maven开发工具实战指南(实战技术总结)
124 0
|
6月前
|
数据可视化 Java Apache
Maven Dependency Tree:深入理解你的项目依赖
Maven Dependency Tree:深入理解你的项目依赖
1032 0
|
6月前
|
XML Java 数据库连接
技术笔记:Maven的pom.xml(坐标的gav、依赖的scope)
技术笔记:Maven的pom.xml(坐标的gav、依赖的scope)
194 0
|
7月前
|
存储 XML Java
【Maven技术专题】「入门到精通」教你如何使用Maven中引用依赖本地Jar包,并进行打包输出
【Maven技术专题】「入门到精通」教你如何使用Maven中引用依赖本地Jar包,并进行打包输出
618 0
|
7月前
|
Java Maven
maven:the pom for XXX is missing, no dependency information available
maven:the pom for XXX is missing, no dependency information available
592 0
|
Dubbo JavaScript Java
Maven项目中的依赖出现版本冲突,最终发现是对Dependency Scope理解有误
本文记录一下遇到maven依赖版本冲突后的排查过程说明以及问题原因说明
133 0