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

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,獲取系列教程。

關注公衆號Java技術棧回覆"面試"獲取我整理的2020最全面試題及答案。

推薦去我的博客閱讀更多:

1.Java JVM、集合、多線程、新特性系列教程

2.Spring MVC、Spring Boot、Spring Cloud 系列教程

3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程

4.Java、後端、架構、阿里巴巴等大廠最新面試題

覺得不錯,別忘了點贊+轉發哦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章