查看原文
其他

Spring Cloud 2020 版本重大变革,更好的命名方式!

栈长 Java技术栈 2021-01-11

Java技术栈

www.javastack.cn

关注阅读更多优质文章



Spring Cloud 版本重大变革,变更了版本号的命名方式。

旧版命名方式看这篇:

Spring Cloud 多版本怎么选择?

从 Spring Cloud 2020.0.0-M1 开始,Spring Cloud 废除了这种英国伦敦地铁站的命名方式,而使用了全新的 "日历化" 版本命名方式。

官宣如下:

https://spring.io/blog/2020/04/17/spring-cloud-2020-0-0-m1-released

什么是日历化版本?

英文名称:Calendar Versioning

日历化版本不是基于任意的数字,而是基于项目的发布日期的版本控制约定,随着时间的推移,版本会越来越好。

这种基于日期的版本命名方式被称为 “日历化版本”(Calendar Versioning), 或者可以简称 CalVer。

详细的介绍参考:

https://calver.org/

我们来看下 Spring Cloud 是如何开始使用日历化版本的。

Spring Cloud 使用了 YYYY.MINOR.MICRO 的命名规则:

  • YYYY:表示 4 位年份;
  • MINOR:代表一个递增的数字,每年以 0 开始递增;
  • MICRO:代表版本号后缀,就和之前使用的 .0 类似于 .RELEASE 一样,.2 类似于 .SR2

预发布版本的后缀分隔符也从 . 变更为 -,如:2020.0.0-M12020.0.0-RC2 命名所示。

同时,Spring Cloud 将停止给快照版本添加 BUILD- 前缀,如:2020.0.0-SNAPSHOT 命名所示。

但是,英国伦敦地铁站的命名没有彻底废除,Spring Cloud 将继续使用它作为版本代号,当前代号:Ilford,只是发布到 Maven 仓库的版本将不再使用这些名称。

最后就再来欣赏下 Maven 下的 Spring Cloud 新老版本号命名方式:

老版本命名:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>Hoxton.SR6</version>
    <type>pom</type>
    <scope>runtime</scope>
</dependency>

新版本命名:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>2020.0.0-M2</version>
    <type>pom</type>
    <scope>runtime</scope>
</dependency>

使用日历化版本命名方式,我个人觉得会更方便,可以更清楚的看出当前版本的年份,看到字母、纯数字方式的版本号都不知道自己多久没升级了。

你觉得哪个好?你们当前使用的哪个版本号?欢迎留言分享!关注公众号Java技术栈,回复:cloud,获取系列教程。

最近热文:
1、日志系统新贵 Loki,真香!!
2、Spring Boot 干掉了 Maven 拥抱 Gradle!
3、Mybatis 框架 SQL 注入攻击的 3 种方式!
4、写了个全局变量的bug,被同事们打脸!
5、Java 14 祭出神器,Lombok 被干掉了?
6、Java 14 祭出增强版 switch,真香!!
7、Spring Boot 2.3 优雅关闭新姿势,真香!
8、玩大发了,Tomcat 8.5 升级有坑…
9、公司来了个新同事不会用 Lombok!
10、Tomcat 又爆出高危漏洞!8.5 ~ 10 中招…
扫码关注Java技术栈公众号阅读更多干货。

点击「阅读原文」获取面试题大全~

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存