很多人在使用springboot和springcloud,但是对于这两者之间的版本关系不是很清楚,特别是在面临升级的时候不知道该如何操作。本文简要摘录的官方文档的部分内容作为依据,供广大同行参考。
问题的提出,我现在使用的是1.5.1版本的springboot 和Edgware.RELEASE版本的springcloud,我想升级到springboot到2.0.0, springcloud需要升级吗? 或者我想单独升级springcloud到Finchley.RELEASE,可以不用升级springboot吗?
如果一次升级多个基础框架,可能面临的风险较大,需要我们审慎评估和测试,所以一般我们都是小步快速升级,先升级一个,上线没问题后,再升级另外一个,最终达到升级整改项目框架。可是有时我们必须理清楚这些要升级的框架之间的依赖关系,否则就无法有的放矢,因为升级了A,可能系统就无法正常运行,因为A和他依赖的某个框架是同步绑定版本的,升级A就必须同步升级他的依赖。而SpringCloud和Springboot就存在这样的关系。
Spring Cloud的版本列表
release发布记录在这里
https://projects.spring.io/spring-cloud/。 Finchley builds and works with Spring Boot 2.0.x, and is not expected to work with Spring Boot 1.5.x.
The Dalston and Edgware release trains build on Spring Boot 1.5.x, and are not expected to work with Spring Boot 2.0.x.
The Camden release train builds on Spring Boot 1.4.x, but is also tested with 1.5.x.
NOTE: The Brixton and Angel release trains were marked end-of-life (EOL) in July 2017.
The Brixton release train builds on Spring Boot 1.3.x, but is also tested with 1.4.x.
从这段文字可以知道,
Finchley需要Spring Boot 2.0.x,预计不会与Spring Boot 1.5.x一起工作(潜在台词,和1.5.x没有和做过兼容性测试,最好不要和1.5.x一起使用)。
Dalston版本和Edgware版本是在Spring Boot 1.5.x上构建的,预计不会与Spring Boot 2.0.x一起工作。
Camden 版本是在 Spring Boot 1.4.x上构建的,但是也和Spring Boot 1.5.x进行过测试。所以可以认为是能够和Spring Boot 1.5.x一起工作的。
Brixton版本和Angel版本已经不再支持了(2017-07就结束了)。
Spring Cloud与Spring Boot版本匹配关系