SpringCloud版本说明
Spring Cloud是⼀个由众多独⽴⼦项⽬组成的⼤型综合项⽬,每个⼦项⽬有不同的发⾏节奏,都维护着⾃⼰的发布版本号。Spring Cloud 通过⼀个资源清单BOM(Bill of Materials)来管理每个版本的⼦项⽬清单。为避免与⼦项⽬的发布号混淆,所以没有采⽤版本号的⽅式,⽽是通过命名的⽅式。
springboot是啥这些版本名称的命名⽅式采⽤了伦敦地铁站的名称,同时根据字母表的顺序来对应版本时间顺序,⽐如:最早的Release版本:Angel,第⼆个Release版本:Brixton,然后是Camden、Dalston、Edgware,⽬前最新的是Finchley版本。
当⼀个版本的Spring Cloud项⽬的发布内容积累到临界点或者解决了⼀个严重bug后,就会发布⼀个“service releases”版本,简称SRX版本,其中X是⼀个递增数字。当前官⽹上最新的稳定版本是Edgware.SR3,⾥程碑版本是Finchley.M9。下表列出了这两个版本所包含的⼦项⽬及各⼦项⽬的版本号。
Component Edgware.SR3Finchley.M9Finchley.BUILD-SNAPSHOT
spring-cloud-aws  1.2.2.RELEASE  2.0.0.M4  2.0.0.BUILD-SNAPSHOT
spring-cloud-bus  1.3.2.RELEASE  2.0.0.M7  2.0.0.BUILD-SNAPSHOT
spring-cloud-cli  1.4.1.RELEASE  2.0.0.M1  2.0.0.BUILD-SNAPSHOT spring-cloud-commons  1.3.3.RELEASE  2.0.0.M9  2.0.0.BUILD-SNAPSHOT
spring-cloud-contract  1.2.4.RELEASE  2.0.0.M8  2.0.0.BUILD-SNAPSHOT
spring-cloud-config  1.4.3.RELEASE  2.0.0.M9  2.0.0.BUILD-SNAPSHOT
spring-cloud-netflix  1.4.4.RELEASE  2.0.0.M8  2.0.0.BUILD-SNAPSHOT
spring-cloud-security  1.2.2.RELEASE  2.0.0.M3  2.0.0.BUILD-SNAPSHOT spring-cloud-cloudfoundry  1.1.1.RELEASE  2.0.0.M3  2.0.0.BUILD-SNAPSHOT spring-cloud-consul  1.3.3.RELEASE  2.0.0.M7  2.0.0.BUILD-SNAPSHOT
spring-cloud-sleuth  1.3.3.RELEASE  2.0.0.M9  2.0.0.BUILD-SNAPSHOT
spring-cloud-stream Ditmars.SR3Elmhurst.RC3Elmhurst.BUILD-SNAPSHOT spring-cloud-zookeeper  1.2.1.RELEASE  2.0.0.M7 2.0.0.BUILD-SNAPSHOT
spring-boot  1.5.10.RELEASE  2.0.0.RELEASE  2.0.0.BUILD-SNAPSHOT spring-cloud-task  1.2.2.RELEASE  2.0.0.M3  2.0.0.RELEASE
spring-cloud-vault  1.1.0.RELEASE  2.0.0.M6  2.0.0.BUILD-SNAPSHOT
spring-cloud-gateway  1.0.1.RELEASE  2.0.0.M9  2.0.0.BUILD-SNAPSHOT
spring-cloud-openfeign  2.0.0.M2  2.0.0.BUILD-SNAPSHOT
Finchley 与 Spring Boot 2.0.x, 兼容,不⽀持 Spring Boot
Dalston 和 Edgware 与 Spring Boot 1.5.x, 兼容,不⽀持 Spring Boot
Camden 是构建在 Spring Boot 1.4.x, 之上,但也⽀持
Brixton 是构建在 Spring Boot 1.3.x, 之上,但也⽀持
Angel 是构建在 Spring Boot 1.2.x, 之上,但也兼容 Spring Boot
注意: Angel 和 Brixton 两个版本已于2017年7⽉终⽌不再进⾏维护。
注意: Angel 和 Brixton 两个版本已于2017年7⽉终⽌不再进⾏维护。
开发代号看似没有什么规律,但实际上⾸字母是有顺序的,⽐如:Dalston版本,我们可以简称 D 版本,对应的 Edgware 版本我们可以简称 E 版本。
D版本和E版本的区别
⼆者均基于SpringBoot的1.5.x版本。但⽀持其他组件的版本不同,如以 Dalston.SR4 和 Edgware.RELEASE 来对⽐:
spring-cloud-config 分别对应 1.3.3和 1.4.0;
spring-cloud-netflix 分别对应 1.3.5和 1.4.0;
spring-cloud-consul 分别对应 1.2.1和 1.3.0;
spring-cloud-gateway 前者不⽀持,后者 1.0.0。
每个⼩版本的不同,会有细微差别。
F版本
F版本是个绝对的⼤版本,⼏乎所有组件,全部同步变更版本号为2.x。
⼩版本
Spring Cloud ⼩版本分为:
SNAPSHOT: 快照版本,随时可能修改
M: MileStone,M1表⽰第1个⾥程碑版本,⼀般同时标注PRE,表⽰预览版版。
SR: Service Release,SR1表⽰第1个正式版本,⼀般同时标注GA:(GenerallyAvailable),表⽰稳定版本。
选择版本
id e a⾥⾯的RC版本
idea⾥⾯的 RC版本英⽂版名字叫Release Candidate(候选版本)
⼤版本
⾸先说明,各个版本之间组件变化不⼤,但细节略有不同,⽐如配置项名称、或者新版本增加新的配置⽅式。
从这⼀点来看,选择哪个版本都不是⼤问题,但提醒⼀下,遇到坑时,最好根据版本进⾏查询,否则你会发现你到的办法不⾏。实际上是版本不匹配。
如果你项⽬需要和其他⽼项⽬交叉,以兼容为第⼀要务。
如果全新项⽬,可以考虑较新版本,如E版。如果你爱好踩坑,F拿去。
⼩版本
⼩版本没啥可说的,尝鲜:SNAPSHOT,⽣产:GA。