SpringBoot和SpringCloud版本關系
在搭建SpringCloud項目環境架構的時候,需要選擇SpringBoot和SpringCloud進行兼容的版本號,因此對於選擇SpringBoot版本與SpringCloud版本的對應關系很重要,如果版本關系不對應,常見的會遇見項目啟動不起來,怪異的則會是你的項目出現一些詭異的問題,查資料也不好查。下面就收集一下SpringBoot與SpringCloud版本之間的對應關系,在搭建項目框架或者學習時按照對應的版本區間進行選擇即可,避免走一些不必要的彎路。
Spring Cloud Release Train | Spring Boot Version |
---|---|
Hoxton | 2.2.x |
Greenwich | 2.1.x |
Finchley | 2.0.x |
Edgware | 1.5.x |
Dalston | 1.5.x |
Camden | 1.4.x |
Brixton | 1.3.x |
Angle | 1.2.x |
注意: 官方通告SpringBoot1.5.x及以下版本官方不再提供維護了,建議開發者選擇使用SpringBoot2.0.x以上的版本,相對應的SpringCloud版本也最好不要使用。
訪問Spring官方地址,可獲取SpringBoot和SpringCloud版本對應信息。地址:https://start.spring.io/actuator/info

項目搭建初期,如何對SpringBoot和SpringCloud的一個相互兼容性版本號進行選擇,這是很重要的一步,例如SpringCloud的Hoxton.SR3這個版本,他對應的"Spring Boot >=2.2.0.M4 and <2.3.0.BUILD-SNAPSHOT"版本,意思就是如果選擇使用SpringCloud的Hoxton.SR3這個版本,那么SpringBoot的版本需要大於等於2.2.0小於2.3.0即可滿足兼容性。
引入SpringCloud版本管理:
官方提供了管理Spring Cloud每個版本兼容的pom,引入下面依賴管理信息即可:
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Hoxton.SR3</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
使用Spring Boot:
Spring Boot可以也像父工程那樣管理自己內部的兼容版本號,如下:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.5.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent>
SpringBoot、SpringCloud、SpringCloudAlibaba版本對應關系
由於Spring Cloud基於Spring Boot構建,而Spring Cloud Alibaba又基於Spring Cloud Common的規范實現,所以當我們使用Spring Cloud Alibaba來構建微服務應用的時候,需要知道這三者之間的版本關系。
下表整理了目前Spring Cloud Alibaba的版本與Spring Boot、Spring Cloud版本的兼容關系:
畢業版本依賴關系(推薦使用):

Spring Cloud Alibaba與組件版本關系
Spring Cloud Alibaba是基於Spring Cloud Common的規范實現,而Spring Cloud Alibaba內的各個微服務組件依賴於Spring Cloud Alibaba自身,因此我們需要知道Spring Cloud Alibaba與其自身微服務組件之間的版本關系。
下表整理了目前Spring Cloud Alibaba的版本與Sentinel、Nacos 、RocketMQ 、Dubbo、Seata版本的兼容關系:
組件版本關系:

版本管理規范:
項目的版本號格式為 x.x.x 的形式,其中 x 的數值類型為數字,從 0 開始取值,且不限於 0~9 這個范圍。項目處於孵化器階段時,第一位版本號固定使用 0,即版本號為 0.x.x 的格式。
由於Spring Boot 1 和 Spring Boot 2 在 Actuator 模塊的接口和注解有很大的變更,且 spring-cloud-commons 從 1.x.x 版本升級到 2.0.0 版本也有較大的變更,因此我們采取跟 SpringBoot 版本號一致的版本:
1.5.x 版本適用於 Spring Boot 1.5.x
2.0.x 版本適用於 Spring Boot 2.0.x
2.1.x 版本適用於 Spring Boot 2.1.x
2.2.x 版本適用於 Spring Boot 2.2.x
總結:
由於Spring Cloud基於Spring Boot構建,而Spring Cloud Alibaba又基於Spring Cloud Common的規范實現,所以當我們使用Spring Cloud Alibaba來構建微服務應用的時候,需要知道這三者之間的版本關系。可以通過各自的官網和相應的github地址查看版本說明和對應關系。
參考文檔:
Spring-Cloud-Alibaba版本說明:https://github.com/alibaba/spring-cloud-alibaba/wiki/版本說明
SpringCloudAlibaba中文社區地址: https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md
SpringBoot和SpringCloud版本對應信息查詢地址:https://start.spring.io/actuator/info