Java 开发学习 (三十一)----Maven 属性与版本管理
一、属性
1.1 问题分析
如下图所示
你会发现,如果现在想更新 Spring 的版本,你会发现依然需要更新多个 jar 包的版本,这样的话还是有可能出现漏改导致程序出问题,而且改起来也是比较麻烦。
问题清楚后,我们需要解决的话,就可以参考咱们 java 基础所学习的变量,声明一个变量,在其他地方使用该变量,当变量的值发生变化后,所有使用变量的地方,就会跟着修改,即:
1.2 解决步骤
步骤 1:工程中定义属性
步骤 2:修改依赖的 version
此时,我们只需要更新工程中 properties 标签中所维护的 jar 包版本,项目中所有的版本也就跟着更新。当然除了将 spring 相关版本进行维护,我们可以将其他的 jar 包版本也进行抽取,这样就可以对项目中所有 jar 包的版本进行统一维护,如:
具体使用,就是使用 ${key}
来获取,key 为等号左边的,值为等号右边的,比如获取红线的值,对应的写法为 ${java.runtime.name}
。
二、版本区分
关于这个版本管理解决的问题是,在 Maven 创建项目和引用别人项目的时候,我们都看到过如下内容:
这里面有两个单词,SNAPSHOT 和 RELEASE,它们所代表的含义是什么呢?
我们打开 Maven 仓库地址 https://mvnrepository.com/
在我们 jar 包的版本定义中,有两个工程版本用的比较多:
SNAPSHOT(快照版本)
项目开发过程中临时输出的版本,称为快照版本
快照版本会随着开发的进展不断更新
RELEASE(发布版本)
项目开发到一定阶段里程碑后,向团队外部发布较为稳定的版本,这种版本所对应的构件文件是稳定的
即便进行功能的后续开发,也不会改变当前发布版本内容,这种版本称为发布版本
除了上面的工程版本,我们还经常能看到一些发布版本:
alpha 版:内测版,bug 多不稳定内部版本不断添加新功能
beta 版:公测版,不稳定(比 alpha 稳定些),bug 相对较多不断添加新功能
纯数字版
评论