SpringCloud 主项目版本命名并没有采数字版本化的形式,而是采用了英文名称。
类似于安卓用 奥利奥、棒棒糖 等点心名作为版本名称,SpringCloud 也采用了该方法,选择英国伦敦地铁站的名称来命名,并按地铁站名称的首字母A-Z依次命名
大版本号
Spring Cloud 大版本 | Spring Boot 大版本 | 说明 |
---|---|---|
Angel | 兼容Spring Boot 1.2.x | 不建议使用 |
Brixton | 兼容Spring Boot 1.3.x,也兼容Spring Boot 1.4.x | 不建议使用 |
Camden | 兼容Spring Boot 1.4.x,也兼容Spring Boot 1.5.x | 不建议使用 |
Dalston | 兼容Spring Boot 1.5.x,不兼容Spring Boot 2.0.x | 不建议使用 |
Edgware | 兼容Spring Boot 1.5.x,不兼容Spring Boot 2.0.x | 已于2019/08/01 退役 |
Finchley | 兼容Spring Boot 2.0.x,不兼容Spring Boot 1.5.x | 要求 jdk1.8 |
Greenwich | 兼容Spring Boot 2.1.x | 推荐使用 |
Hoxton | 兼容Spring Boot 2.2.x | 目前版本到 M2 |
如上,Spring Cloud Edgware 已退役,而Finchley 版本作为 Spring Boot 2.0.x 的主要版本,Finchley 的生命周期也会由 Spring Boot 2.0.x 版本的终止而终止。因此不管是学习还是使用,目前仅推荐 Greenwich 版。
小版本号
Spring Cloud 版本 | Spring Boot 版本 |
---|---|
Finchley.M9 | 2.0.0.RELEASE |
Finchley.RC1 | 2.0.1.RELEASE |
Greenwich.BUILD-SNAPSHOT | 2.1.8.BUILD-SNAPSHOT |
Greenwich.RELEASE | 2.1.2.RELEASE |
Greenwich.SR1 | 2.1.3.RELEASE |
Greenwich.SR2 | 2.1.5.RELEASE |
版本号含义
Spring Cloud 处于快速迭代状态,开发的不同阶段对应着不同的版本号,一个大版本是从 BUILD-SNAPSHOT 开始的,他表示快照版本,这个版本的代码不是固定的,而是处于变化之中。
等到开发到了一定的阶段比如50%,就会发布一个MX 版本,他表示里程碑版。比如M1表示第一个里程碑版
经过数个里程碑版后,已经开发的差不多了,这是会发布候选发布版(RCX),该版本为正式版提供一个发行观察期,主要修复一些bug,RC1 表示第一个候选发布版
在经过一个或多个候选发布版后,正式版(RELEASE) 就发布了
正式版发布之后,如果有被发现了错误和bug,修复之后就会发布SRX版,他也叫正式版。
总结
版本号 | 含义 |
---|---|
BUILD-SNAPSHOT | 快照版,代码不是固定,处于变化之中 |
MX | 里程碑版 |
RCX | 候选发布版 |
RELEASE | 正式发布版 |
SR2 | 正式发布版 |
标示 | 含义 |
---|---|
CURRENT | 当前推荐的版本 |
GA | 稳定版,可用于生产 |
PRE | 里程碑版 |
SNAPSHOT | 快照 |
查找 SpringCloud 与 SpringBoot 版本对应关系
这里先吐槽一下官方, Spring官网的 版本对应关系一直在更新,而不是追加 比如2019/08/21日,官网的版本对应关系是这样的
官方糟糕的的展示策略,为我们寻找历史版本的对应关系添加极大的障碍,导致我们只能通过网友的博库和官网的蛛丝马迹来推论出版本对应关系
首先是 这个网站 其中有一段json的这样的
也就是说 Spring Cloud 与 Spring Boot 的版本,并不是一一对应的,而是 Spring Boot 只要满足一定的版本区间都可以。 这一点官方好像只在大版本说过,在小版本好像没有说过类似的话。这导致我一直以为 某一个具体的Spring Cloud 版本只对应 一个具体的Spring Boot 版本。
那么我们怎么知道每一个 Spring Cloud 版本对应的 Spring Boot 版本区间呢? 可以参考上面的网址,上面网站没有的,说实话我也没找到
通过官方文档找版本对应关系
如果上面的办法都找不到你想找的版本,可以通过查看官方文档,来寻找。
选择这一个,就可以看到全部的内容了
在这里面查找 spring-boot-starter-parent ,在88.5.1节有提到
在这个 Greenwich.SR2 文档里, spring-boot-starter-parent 的版本是 2.1.6.RELEASE ,而官方网址上写的是 2.1.5.RELEASE 。到底该信哪一个?
其实两个都可以,上面已经说了 Spring Cloud 与 Spring Boot 的版本,并不是一一对应的,而是 Spring Boot 只要满足一定的版本区间都可以。
如果你找不到历史版本的文档,可以随便找个网址然后把url改掉
找个对应关系这么麻烦,说到底还是官方这块工作没做好