前言
近年SpringCloud與SpringBoot更新迭代非常頻繁,導致我們對兩者的版本選型非常的困難。若是版本選擇有問題, 會導致開發中調試兼容性占用非常多的得必要時間。
SpringCloud版本介紹
Spring Cloud是一個由眾多獨立子項目組成的大型綜合項目,每個子項目有不同的發行節奏,都維護着自己的發布版本號。Spring Cloud通過一個資源清單BOM(Bill of Materials)來管理每個版本的子項目清單。為避免與子項目的發布號混淆,所以沒有采用版本號的方式,而是通過命名的方式。
這些版本名稱的命名方式采用了倫敦地鐵站的名稱,同時根據字母表的順序來對應版本時間順序,比如:最早的Release版本:Angel,第二個Release版本:Brixton,然后是Camden、Dalston、Edgware、Finchley、Greenwich、Hoxton,目前最新穩定版本是Hoxton SR3版。
SpringCloud最新版本

SpringBoot版本介紹
Spring發布的Dalston已於2018年12月31日宣布報廢, SpringBoot1.5x也即將不在維護, Spring官方強烈建議升級SpringBoot2.0。Spring Boot 2.0要求Java 8為最低版本,也已經在Java9上進行過測試。
SpringBoot最新版本

SpringCloud與SpringBoot版本選型
查詢版本對應關系: https://start.spring.io/actuator/info
{
"bom-ranges": {
"azure": {
"2.0.10": "Spring Boot >=2.0.0.RELEASE and <2.1.0.RELEASE",
"2.1.7": "Spring Boot >=2.1.0.RELEASE and <2.2.0.M1",
"2.2.0": "Spring Boot >=2.2.0.M1"
},
"codecentric-spring-boot-admin": {
"2.0.6": "Spring Boot >=2.0.0.M1 and <2.1.0.M1",
"2.1.6": "Spring Boot >=2.1.0.M1 and <2.2.0.M1",
"2.2.1": "Spring Boot >=2.2.0.M1"
},
"spring-cloud": {
"Finchley.BUILD-SNAPSHOT": "Spring Boot >=2.0.999.BUILD-SNAPSHOT and <2.1.0.M3",
"Finchley.M2": "Spring Boot >=2.0.0.M3 and <2.0.0.M5",
"Finchley.M3": "Spring Boot >=2.0.0.M5 and <=2.0.0.M5",
"Finchley.M4": "Spring Boot >=2.0.0.M6 and <=2.0.0.M6",
"Finchley.M5": "Spring Boot >=2.0.0.M7 and <=2.0.0.M7",
"Finchley.M6": "Spring Boot >=2.0.0.RC1 and <=2.0.0.RC1",
"Finchley.M7": "Spring Boot >=2.0.0.RC2 and <=2.0.0.RC2",
"Finchley.M9": "Spring Boot >=2.0.0.RELEASE and <=2.0.0.RELEASE",
"Finchley.RC1": "Spring Boot >=2.0.1.RELEASE and <2.0.2.RELEASE",
"Finchley.RC2": "Spring Boot >=2.0.2.RELEASE and <2.0.3.RELEASE",
"Finchley.SR4": "Spring Boot >=2.0.3.RELEASE and <2.0.999.BUILD-SNAPSHOT",
"Greenwich.BUILD-SNAPSHOT": "Spring Boot >=2.1.14.BUILD-SNAPSHOT and <2.2.0.M4",
"Greenwich.M1": "Spring Boot >=2.1.0.M3 and <2.1.0.RELEASE",
"Greenwich.SR5": "Spring Boot >=2.1.0.RELEASE and <2.1.14.BUILD-SNAPSHOT",
"Hoxton.BUILD-SNAPSHOT": "Spring Boot >=2.3.0.BUILD-SNAPSHOT",
"Hoxton.SR3": "Spring Boot >=2.2.0.M4 and <2.3.0.BUILD-SNAPSHOT"
},
"spring-cloud-alibaba": {
"2.2.0.RELEASE": "Spring Boot >=2.2.0.RELEASE and <2.3.0.M1"
},
"spring-cloud-services": {
"2.0.3.RELEASE": "Spring Boot >=2.0.0.RELEASE and <2.1.0.RELEASE",
"2.1.7.RELEASE": "Spring Boot >=2.1.0.RELEASE and <2.2.0.RELEASE",
"2.2.3.RELEASE": "Spring Boot >=2.2.0.RELEASE and <2.3.0.M1"
},
"spring-statemachine": {
"2.0.0.M4": "Spring Boot >=2.0.0.RC1 and <=2.0.0.RC1",
"2.0.0.M5": "Spring Boot >=2.0.0.RC2 and <=2.0.0.RC2",
"2.0.1.RELEASE": "Spring Boot >=2.0.0.RELEASE"
},
"vaadin": {
"10.0.17": "Spring Boot >=2.0.0.M1 and <2.1.0.M1",
"14.1.20": "Spring Boot >=2.1.0.M1"
}
},
"build": {
"artifact": "start-site",
"group": "io.spring.start",
"name": "start.spring.io website",
"time": "2020-03-19T13:45:29.062Z",
"version": "0.0.1-SNAPSHOT",
"versions": {
"initializr": "0.9.0.BUILD-SNAPSHOT",
"spring-boot": "2.2.5.RELEASE"
}
},
"dependency-ranges": {
"camel": {
"2.22.4": "Spring Boot >=2.0.0.M1 and <2.1.0.M1",
"2.24.3": "Spring Boot >=2.1.0.M1 and <2.2.0.M1",
"3.1.0": "Spring Boot >=2.2.0.M1"
},
"geode": {
"1.2.5.RELEASE": "Spring Boot >=2.2.0.M5 and <2.3.0.M1",
"1.3.0.BUILD-SNAPSHOT": "Spring Boot >=2.3.0.BUILD-SNAPSHOT",
"1.3.0.M2": "Spring Boot >=2.3.0.M1 and <2.3.0.BUILD-SNAPSHOT"
},
"mybatis": {
"2.0.1": "Spring Boot >=2.0.0.RELEASE and <2.1.0.RELEASE",
"2.1.2": "Spring Boot >=2.1.0.RELEASE"
},
"okta": {
"1.2.1": "Spring Boot >=2.1.2.RELEASE and <2.2.0.M1",
"1.4.0": "Spring Boot >=2.2.0.M1"
},
"solace": {
"3.1.0": "Spring Boot >=2.1.0.RELEASE and <2.2.0.M1",
"3.2.0": "Spring Boot >=2.2.0.M1"
}
},
"git": {
"branch": "6a8d5ce9a63e30db3fa1c23c64a6b7cef2072c71",
"commit": {
"id": "6a8d5ce",
"time": "2020-03-19T13:43:47Z"
}
}
}

SpringCloud若選用: Hoxton.SR3
支持的SpringBoot版本: 2.2.5.RELEASE
SpringCloud官網:https://spring.io/projects/spring-cloud


