写点什么

Java 开发学习 (三十一)----Maven 属性与版本管理

作者:Java-fenn
  • 2022 年 9 月 13 日
    湖南
  • 本文字数:1128 字

    阅读完需:约 4 分钟

一、属性

1.1 问题分析

如下图所示



你会发现,如果现在想更新 Spring 的版本,你会发现依然需要更新多个 jar 包的版本,这样的话还是有可能出现漏改导致程序出问题,而且改起来也是比较麻烦。

问题清楚后,我们需要解决的话,就可以参考咱们 java 基础所学习的变量,声明一个变量,在其他地方使用该变量,当变量的值发生变化后,所有使用变量的地方,就会跟着修改,即:



1.2 解决步骤

步骤 1:工程中定义属性

<properties>    <spring.version>5.2.10.RELEASE</spring.version>    <junit.version>4.12</junit.version>    <mybatis-spring.version>1.3.0</mybatis-spring.version></properties>
复制代码

步骤 2:修改依赖的 version

<dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-core</artifactId>    <version>${spring.version}</version></dependency><dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-webmvc</artifactId>    <version>${spring.version}</version></dependency><dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-jdbc</artifactId>    <version>${spring.version}</version></dependency>
复制代码

此时,我们只需要更新工程中 properties 标签中所维护的 jar 包版本,项目中所有的版本也就跟着更新。当然除了将 spring 相关版本进行维护,我们可以将其他的 jar 包版本也进行抽取,这样就可以对项目中所有 jar 包的版本进行统一维护,如:

<!--定义属性--><properties>    <spring.version>5.2.10.RELEASE</spring.version>    <junit.version>4.12</junit.version>    <mybatis-spring.version>1.3.0</mybatis-spring.version></properties>
复制代码

具体使用,就是使用 ${key} 来获取,key 为等号左边的,值为等号右边的,比如获取红线的值,对应的写法为 ${java.runtime.name} 。

二、版本区分

关于这个版本管理解决的问题是,在 Maven 创建项目和引用别人项目的时候,我们都看到过如下内容:



这里面有两个单词,SNAPSHOT 和 RELEASE,它们所代表的含义是什么呢?

我们打开 Maven 仓库地址 https://mvnrepository.com/



在我们 jar 包的版本定义中,有两个工程版本用的比较多:

  • SNAPSHOT(快照版本)

    项目开发过程中临时输出的版本,称为快照版本

    快照版本会随着开发的进展不断更新

  • RELEASE(发布版本)

    项目开发到一定阶段里程碑后,向团队外部发布较为稳定的版本,这种版本所对应的构件文件是稳定的

    即便进行功能的后续开发,也不会改变当前发布版本内容,这种版本称为发布版本

除了上面的工程版本,我们还经常能看到一些发布版本:

  • alpha 版:内测版,bug 多不稳定内部版本不断添加新功能

  • beta 版:公测版,不稳定(比 alpha 稳定些),bug 相对较多不断添加新功能

  • 纯数字版

用户头像

Java-fenn

关注

需要Java资料或者咨询可加我v : Jimbye 2022.08.16 加入

还未添加个人简介

评论

发布
暂无评论
Java开发学习(三十一)----Maven属性与版本管理_Java_Java-fenn_InfoQ写作社区