当前位置:   article > 正文

SPRING CLOUD ALIBABA与SPRING BOOT、SPRING CLOUD版本对应关系_spring-cloud-alibaba-dependencies 版本

spring-cloud-alibaba-dependencies 版本

一、前言

在搭建SpringCloud项目环境架构的时候,需要选择SpringBootSpringCloud进行兼容的版本号,因此对于选择SpringBoot版本与SpringCloud版本的对应关系很重要,如果版本关系不对应,常见的会遇见项目启动不起来,怪异的则会是你的项目出现一些诡异的问题,查资料也不好查。下面就收集一下SpringBootSpringCloud版本之间的对应关系,在搭建项目框架或者学习时按照对应的版本区间进行选择即可,避免走一些不必要的弯路。

1. 历史版本图

Release train Spring Boot compatibility

Spring Cloud Release TrainSpring Boot Version
Hoxton2.2.x
Greenwich2.1.x
Finchley2.0.x
Edgware1.5.x
Dalston1.5.x
Camden1.4.x
Brixton1.3.x
Angle1.2.x

注意: 官方通告SpringBoot1.5.x及以下版本官方不再提供维护了,建议开发者选择使用SpringBoot2.0.x以上的版本,相对应的SpringCloud版本也最好不要使用。

二、查看版本关系

访问Spring官方地址,可获取SpringBootSpringCloud版本对应信息。

地址如下:

https://start.spring.io/actuator/info

 JSON格式如下:

  1. JSON["bom-ranges"]["spring-cloud"]["Finchley.M9"]◣
  2. Path:
  3. JSON["bom-ranges"]["spring-cloud"]["Finchley.M9"]
  4. Key:
  5. Finchley.M9
  6. : Copy deURI deBase64 aLine Copied!
  7. Modify
  8. +Expand all -Collapse all Expand node Scroll to node
  9. Show value Show img Show array leng Show ico
  10. JSON
  11. git
  12. commit
  13. time2020-04-17T16:18:36Z
  14. id7f707c1
  15. branch7f707c17bed34a13b5bc9d5d58c71fc5a901c335
  16. build
  17. version0.0.1-SNAPSHOT
  18. artifactstart-site
  19. namestart.spring.io website
  20. versions
  21. initializr0.9.0.BUILD-SNAPSHOT
  22. spring-boot2.2.6.RELEASE
  23. groupio.spring.start
  24. time2020-04-17T16:19:53.303Z
  25. bom-ranges
  26. azure
  27. 2.0.10Spring Boot >=2.0.0.RELEASE and <2.1.0.RELEASE
  28. 2.1.7Spring Boot >=2.1.0.RELEASE and <2.2.0.M1
  29. 2.2.0Spring Boot >=2.2.0.M1
  30. codecentric-spring-boot-admin
  31. 2.0.6Spring Boot >=2.0.0.M1 and <2.1.0.M1
  32. 2.1.6Spring Boot >=2.1.0.M1 and <2.2.0.M1
  33. 2.2.1Spring Boot >=2.2.0.M1
  34. solace-spring-boot
  35. 1.0.0Spring Boot >=2.2.0.RELEASE and <2.3.0.M1
  36. solace-spring-cloud
  37. 1.0.0Spring Boot >=2.2.0.RELEASE and <2.3.0.M1
  38. spring-cloud
  39. Finchley.M2Spring Boot >=2.0.0.M3 and <2.0.0.M5
  40. Finchley.M3Spring Boot >=2.0.0.M5 and <=2.0.0.M5
  41. Finchley.M4Spring Boot >=2.0.0.M6 and <=2.0.0.M6
  42. Finchley.M5Spring Boot >=2.0.0.M7 and <=2.0.0.M7
  43. Finchley.M6Spring Boot >=2.0.0.RC1 and <=2.0.0.RC1
  44. Finchley.M7Spring Boot >=2.0.0.RC2 and <=2.0.0.RC2
  45. Finchley.M9Spring Boot >=2.0.0.RELEASE and <=2.0.0.RELEASE
  46. Finchley.RC1Spring Boot >=2.0.1.RELEASE and <2.0.2.RELEASE
  47. Finchley.RC2Spring Boot >=2.0.2.RELEASE and <2.0.3.RELEASE
  48. Finchley.SR4Spring Boot >=2.0.3.RELEASE and <2.0.999.BUILD-SNAPSHOT
  49. Finchley.BUILD-SNAPSHOTSpring Boot >=2.0.999.BUILD-SNAPSHOT and <2.1.0.M3
  50. Greenwich.M1Spring Boot >=2.1.0.M3 and <2.1.0.RELEASE
  51. Greenwich.SR5Spring Boot >=2.1.0.RELEASE and <2.1.14.BUILD-SNAPSHOT
  52. Greenwich.BUILD-SNAPSHOTSpring Boot >=2.1.14.BUILD-SNAPSHOT and <2.2.0.M4
  53. Hoxton.SR3Spring Boot >=2.2.0.M4 and <2.3.0.BUILD-SNAPSHOT
  54. Hoxton.BUILD-SNAPSHOTSpring Boot >=2.3.0.BUILD-SNAPSHOT
  55. spring-cloud-alibaba
  56. 2.2.0.RELEASESpring Boot >=2.2.0.RELEASE and <2.3.0.M1
  57. spring-cloud-services
  58. 2.0.3.RELEASESpring Boot >=2.0.0.RELEASE and <2.1.0.RELEASE
  59. 2.1.7.RELEASESpring Boot >=2.1.0.RELEASE and <2.2.0.RELEASE
  60. 2.2.3.RELEASESpring Boot >=2.2.0.RELEASE and <2.3.0.M1
  61. spring-statemachine
  62. 2.0.0.M4Spring Boot >=2.0.0.RC1 and <=2.0.0.RC1
  63. 2.0.0.M5Spring Boot >=2.0.0.RC2 and <=2.0.0.RC2
  64. 2.0.1.RELEASESpring Boot >=2.0.0.RELEASE
  65. vaadin
  66. 10.0.17Spring Boot >=2.0.0.M1 and <2.1.0.M1
  67. 14.1.25Spring Boot >=2.1.0.M1
  68. dependency-ranges
  69. okta
  70. 1.2.1Spring Boot >=2.1.2.RELEASE and <2.2.0.M1
  71. 1.4.0Spring Boot >=2.2.0.M1
  72. mybatis
  73. 2.0.1Spring Boot >=2.0.0.RELEASE and <2.1.0.RELEASE
  74. 2.1.2Spring Boot >=2.1.0.RELEASE
  75. geode
  76. 1.2.6.RELEASESpring Boot >=2.2.0.M5 and <2.3.0.M1
  77. 1.3.0.M3Spring Boot >=2.3.0.M1 and <2.3.0.BUILD-SNAPSHOT
  78. 1.3.0.BUILD-SNAPSHOTSpring Boot >=2.3.0.BUILD-SNAPSHOT
  79. camel
  80. 2.22.4Spring Boot >=2.0.0.M1 and <2.1.0.M1
  81. 2.25.1Spring Boot >=2.1.0.M1 and <2.2.0.M1
  82. 3.2.0Spring Boot >=2.2.0.M1

三、如何选择SPRINGBOOT与SPRINGCLOUD版本号

项目搭建初期,如何对SpringBootSpringCloud的一个相互兼容性版本号进行选择,这是很重要的一步,例如SpringCloudHoxton.SR3这个版本,他对应的"Spring Boot >=2.2.0.M4 and <2.3.0.BUILD-SNAPSHOT"版本,意思就是如果选择使用SpringCloud 的Hoxton.SR3这个版本,那么SpringBoot的版本需要大于等于2.2.0小于2.3.0即可满足兼容性。

1. 引入SPRINGCLOUD版本管理

官方提供了管理Spring Cloud 每个版本兼容的pom,引入下面依赖管理信息即可:

  1. <dependencyManagement>
  2. <dependencies>
  3. <dependency>
  4. <groupId>org.springframework.cloud</groupId>
  5. <artifactId>spring-cloud-dependencies</artifactId>
  6. <version>Hoxton.SR3</version>
  7. <type>pom</type>
  8. <scope>import</scope>
  9. </dependency>
  10. </dependencies>
  11. </dependencyManagement>

2. 使用SPRING BOOT

Spring Boot可以也像父工程那样管理自己内部的兼容版本号,如下:

  1. <parent>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-parent</artifactId>
  4. <version>2.2.5.RELEASE</version>
  5. <relativePath/> <!-- lookup parent from repository -->
  6. </parent>

四、SPRINGBOOT、SPRINGCLOUD、SPRINGCLOUDALIBABA版本对应关系

由于Spring Cloud基于Spring Boot构建,而Spring Cloud Alibaba又基于Spring Cloud Common的规范实现,所以当我们使用``Spring Cloud Alibaba`来构建微服务应用的时候,需要知道这三者之间的版本关系。

下表整理了目前Spring Cloud Alibaba的版本与Spring BootSpring Cloud版本的兼容关系:

1. 毕业版本依赖关系(推荐使用)

Spring Cloud VersionSpring Cloud Alibaba VersionSpring Boot Version
Spring Cloud Hoxton.SR82.2.3.RELEASE2.3.2.RELEASE
Spring Cloud Greenwich.SR62.1.3.RELEASE2.1.13.RELEASE
Spring Cloud Hoxton.SR82.2.2.RELEASE2.3.2.RELEASE
Spring Cloud Hoxton.SR32.2.1.RELEASE2.2.5.RELEASE
Spring Cloud Hoxton.RELEASE2.2.0.RELEASE2.2.X.RELEASE
Spring Cloud Greenwich2.1.2.RELEASE2.1.X.RELEASE
Spring Cloud Finchley2.0.3.RELEASE2.0.X.RELEASE
Spring Cloud Edgware1.5.1.RELEASE(停止维护,建议升级)1.5.X.RELEASE

五. SPRING CLOUD ALIBABA与组件版本关系

Spring Cloud Alibaba是基于Spring Cloud Common的规范实现,而Spring Cloud Alibaba的各个微服务组件依赖于Spring Cloud Alibaba自身,因此我们需要知道Spring Cloud Alibaba与其自身微服务组件之间的版本关系。

下表整理了目前Spring Cloud Alibaba的版本与SentinelNacos 、RocketMQ 、DubboSeata版本的兼容关系:

1. 组件版本关系

Spring Cloud Alibaba VersionSentinel VersionNacos VersionRocketMQ VersionDubbo VersionSeata Version
2.2.3.RELEASE or 2.1.3.RELEASE or 2.0.3.RELEASE1.8.01.3.34.4.02.7.81.3.0
2.2.1.RELEASE or 2.1.2.RELEASE or 2.0.2.RELEASE1.7.11.2.14.4.02.7.61.2.0
2.2.0.RELEASE1.7.11.1.44.4.02.7.4.11.0.0
2.1.1.RELEASE or 2.0.1.RELEASE or 1.5.1.RELEASE1.7.01.1.44.4.02.7.30.9.0
2.1.0.RELEASE or 2.0.0.RELEASE or 1.5.0.RELEASE1.6.31.1.14.4.02.7.30.7.1

六、依赖管理

Spring Cloud Alibaba BOM 包含了它所使用的所有依赖的版本。

1. RELEASE 版本

SPRING CLOUD HOXTON

如果需要使用 Spring Cloud Hoxton 版本,请在 dependencyManagement中添加如下配置

  1. <dependency>
  2. <groupId>com.alibaba.cloud</groupId>
  3. <artifactId>spring-cloud-alibaba-dependencies</artifactId>
  4. <version>2.2.3.RELEASE</version>
  5. <type>pom</type>
  6. <scope>import</scope>
  7. </dependency>

然后在dependencies 中添加自己所需使用的依赖即可使用。

SPRING CLOUD GREENWICH

如果需要使用 Spring Cloud Greenwich版本,请在 dependencyManagement中添加如下配置

  1. <dependency>
  2. <groupId>com.alibaba.cloud</groupId>
  3. <artifactId>spring-cloud-alibaba-dependencies</artifactId>
  4. <version>2.1.3.RELEASE</version>
  5. <type>pom</type>
  6. <scope>import</scope>
  7. </dependency>

然后在 dependencies中添加自己所需使用的依赖即可使用。

SPRING CLOUD FINCHLEY

如果需要使用 Spring Cloud Finchley版本,请在 dependencyManagement中添加如下配置

  1. <dependency>
  2. <groupId>com.alibaba.cloud</groupId>
  3. <artifactId>spring-cloud-alibaba-dependencies</artifactId>
  4. <version>2.0.3.RELEASE</version>
  5. <type>pom</type>
  6. <scope>import</scope>
  7. </dependency>

然后在dependencies中添加自己所需使用的依赖即可使用。

SPRING CLOUD EDGWARE

如果需要使用 Spring Cloud Edgware 版本,请在 dependencyManagement中添加如下配置

  1. <dependency>
  2. <groupId>com.alibaba.cloud</groupId>
  3. <artifactId>spring-cloud-alibaba-dependencies</artifactId>
  4. <version>1.5.1.RELEASE</version>
  5. <type>pom</type>
  6. <scope>import</scope>
  7. </dependency>

然后在 dependencies中添加自己所需使用的依赖即可使用。

2. 版本管理规范

项目的版本号格式为 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

七、参考文档

1.Spring-Cloud-Alibaba版本说明:https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明

3.SpringCloudAlibaba中文社区地址: https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md

版本说明 · alibaba/spring-cloud-alibaba Wiki · GitHub 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/68795?site
推荐阅读
相关标签
  

闽ICP备14008679号