SpringCloud官网: https://spring.io/projects/spring-cloud/#learn
在使用SpringCloud及SpringBoot搭建项目框架之前,都需要去了解二者之间版本的兼容对应关系,关于SpringBoot和SpringCloud官方版本号的命名规则很是好奇,想要一探究竟,那么显而易见,SpringBoot的版本号是通过数字来命名的,SpringCloud则是通过希腊英文字母的方式,在发布的版本时是以伦敦地铁站作为版本命名,并按地铁站名称的首字母A-Z依次命名。
其中2: 表示的主版本号,表示是我们的SpringBoot第二代产品,当功能模块有较大更新或者整体架构发生变化时,主版本号会更新。
其中3: 表示的是次版本号,增加了一些新的功能但是主体的架构是没有变化的,是兼容的,只是局部的一些变动。。
其中3: 表示的一般是bug的修改或者是小的变动。
RELEASE:希腊字母版本号。此版本号用户标注当前版本的软件处于哪个开发阶段
所以2.3.3.RELEASE合起来就是springboot的第二代版本的第3个小版本的第3次bug修复版本。
SpringBoot版本格式: 主版本号.子版本号.修正版本号。
build-snapshot: 开发版本,也叫快照版本。当前版本处于开发中,开发完成之后,自己进行测试,另外让团队其它人也进行测试使用下;
M1…M2(Milestone): 里程碑版本,在版发布之前 会出几个里程碑的版本。使用snapshot版本开发了一个时间,觉得最近写代码杠杠的,那么就整几个里程碑版本记录下吧,记录我们这个重大的时刻,是你我未来的回忆。
RC1…RC2(Release Candidates): 发布候选。内部开发到一定阶段了,各个模块集成后,经过细心的测试整个开发团队觉得软件已经稳定没有问题了,可以对外发行了。
release: 正式版本。发布候选差不多之后,那么说明整个框架到了一定的阶段了,可投入市场大面积使用了,那么发布出去,让广大用户来吃吃香吧。
SR1…SR2(Service Release): 修正版。这是啥意思呐,这不release版本发布之后,让广大群体使用了嘛,再牛逼的架构师,也无法写出零bug的代码,那么这时候,就优先对于release版本的问题进行修复,这时候每次迭代的版本就是SR1,SR2,SR3。
上述顺序:
snapshot –>M1…MX –> RC1…RCX –> release –> SR1…SRX
对应的文字理解:
开发版本(BS) --(开发到一个小阶段,就要标记下)–> 里程碑版本(MX) --(版本到了一个相对稳定的阶段,可以对外发行了,但是可能还存在修复的问题,此时只做修复,不做新功能的增加)–> 发布候选(RC1) --(BUG修复完成,发布)–>正式版本(release) --(外界反馈存在一些问题,进行内部在修复)–> 修正版本(SRX)
在生产环境部署时,SpringCloud的版本和SpringBoot的版本一定要选择最稳定的,避免选择不稳定的版本对项目造成一些生产上的重大事故。
CURRENT:当前推荐的版本。
GA:稳定版,可用于生产
PRE :里程碑版/预览版本
SNAPSHOT : 快照
版本号只是一个标识,方便大家在使用时引入版本号即可。为了稳定起见,我们一般选择是RELEASE、CURRENT和GA版本,SNAPSHOT打死不选。
2.4.0: 第二代Spring Boot的第4个小版本的第0次bug修复;
M2: 这是2.4.0版本的第2次里程碑版本啦;
PRE: 程碑版本/预览版本,告知我们这个是里程碑版本,先偷腥的人可以来;
2.3.3 : 第二代Spring Boot的第3个小版本的第3次bug修复;
CURRENT : 这是官网当前推荐的使用版本;
GA: 这是稳定版本,可用于生产环境。
2.3.4: 第二代Spring Boot的第3个小版本的第4次bug修复;
SNAPSHOT: 这是我们内部在开发的一个版本啦,也是对于2.3.4版本的bug迭代版本;
2.2.9: 第一代Spring Boot的第2个小版本的第9次bug修复;
GA: 这是稳定版本,可用于生产;
Release train Spring Boot compatibility
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
版本也最好不要使用。
提示: 生产环境的版本选择很重要,切记要选择稳定的SpringBoot和SpringCloud版本进行开发。