Spring Cloud系列(1)版本說明
Spring Cloud 版本問題對於存量使用spring boot專案,選擇一個相應的版本,與存量專案匹配,解決jar包衝突問題很重要。
Spring Cloud是一個由眾多獨立子專案組成的大型綜合專案,每個子專案有不同的發行節奏,都維護著自己的釋出版本號。Spring Cloud通過一個資源清單BOM(Bill of Materials)來管理每個版本的子專案清單。為避免與子專案的釋出號混淆,所以沒有采用版本號的方式,而是通過命名的方式。
這些版本名稱的命名方式採用了倫敦地鐵站的名稱,同時根據字母表的順序來對應版本時間順序,比如:最早的Release版本:Angel,第二個Release版本:Brixton,然後是Camden、Dalston、Edgware,目前最新的是Finchley版本。
當一個版本的Spring Cloud專案的釋出內容積累到臨界點或者解決了一個嚴重bug後,就會發佈一個“service releases”版本,簡稱SRX版本,其中X是一個遞增數字。當前官網上最新的穩定版本是Edgware.SR3,里程碑版本是Finchley.M9。
官方版本匹配:
2019-01-19 Spring Cloud官方文件寫版本匹配


Spring Cloud官方最新版本:

官方解釋:
Finchley builds and works with Spring Boot 2.0.x, and is not expected to work with Spring Boot 1.5.x.
中文翻譯:Finchley構建並使用Spring Boot 2.0。,並且不希望與Spring Boot 1.5.x一起工作。
Finchley 與 Spring Boot 2.0.x, 相容,不支援 Spring Boot 1.5.x.
Dalston 和 Edgware 與 Spring Boot 1.5.x, 相容,不支援 Spring Boot 2.0.x.
Camden 是構建在 Spring Boot 1.4.x, 之上,但也支援 1.5.x.
Brixton 是構建在 Spring Boot 1.3.x, 之上,但也支援 1.4.x.
Angel 是構建在 Spring Boot 1.2.x, 之上,但也相容 Spring Boot 1.3.x.
注意: Angel 和 Brixton 兩個版本已於2017年7月終止不再進行維護。
注意: Angel 和 Brixton 兩個版本已於2017年7月終止不再進行維護。
版本編號解釋:
開發代號看似沒有什麼規律,但實際上首字母是有順序的,比如:Dalston版本,我們可以簡稱 D 版本,對應的 Edgware 版本我們可以簡稱 E 版本。
D版本和E版本的區別
二者均基於SpringBoot的1.5.x版本。但支援其他元件的版本不同,如以 Dalston.SR4 和 Edgware.RELEASE 來對比:
spring-cloud-config 分別對應 1.3.3和 1.4.0;
spring-cloud-netflix 分別對應 1.3.5和 1.4.0;
spring-cloud-consul 分別對應 1.2.1和 1.3.0;
spring-cloud-gateway 前者不支援,後者 1.0.0。
每個小版本的不同,會有細微差別。
F版本
F版本是個絕對的大版本,幾乎所有元件,全部同步變更版本號為2.x。
小版本
Spring Cloud 小版本分為:
SNAPSHOT: 快照版本,隨時可能修改
M: MileStone,M1表示第1個里程碑版本,一般同時標註PRE,表示預覽版版。
SR: Service Release,SR1表示第1個正式版本,一般同時標註GA:(GenerallyAvailable),表示穩定版本。
選擇版本
idea裡面的RC版本
idea裡面的 RC版本英文版名字叫Release Candidate(候選版本)
大版本
首先說明,各個版本之間元件變化不大,但細節略有不同,比如配置項名稱、或者新版本增加新的配置方式。
從這一點來看,選擇哪個版本都不是大問題,但提醒一下,遇到坑時,最好根據版本進行查詢,否則你會發現你找到的辦法不行。實際上是版本不匹配。
如果你專案需要和其他老專案交叉,以相容為第一要務。
如果全新專案,可以考慮較新版本,如E版。如果你愛好踩坑,F拿去。
小版本
小版本沒啥可說的,嚐鮮:SNAPSHOT,生產:GA。
附帶 -Springboot 版本+ jdk 版本 + Maven 版本的匹配:
