Tomcat、Spring Framework与JDK,及Spring boot相关技术版本参照关系整理

>Tomcat官方对照表

详见:Apache Tomcat 官方网站

Servlet SpecJSP SpecEL SpecWebSocket SpecJASPIC SpecApache Tomcat VersionLatest Released VersionSupported Java Versions
4.02.33.01.11.19.0.x9.0.248 and later
3.12.33.01.11.18.5.x8.5.457 and later
3.12.33.01.1N/A8.0.x (superseded)8.0.53 (superseded)7 and later
3.02.22.21.1N/A7.0.x7.0.966 and later(7 and later for WebSocket)
2.52.12.1N/AN/A6.0.x (archived)6.0.53 (archived)5 and later
2.42.0N/AN/AN/A5.5.x (archived)5.5.36 (archived)1.4 and later
2.31.2N/AN/AN/A4.1.x (archived)4.1.40 (archived)1.3 and later
2.21.1N/AN/AN/A3.3.x (archived)3.3.2 (archived)1.1 and later

>Spring Framework与JDK,及Spring boot三者之间的关系

Spring boot 版本Spring Frameworkjdk 版本maven 版本
1.2.0 版本之前63.0
1.2.04.1.3+63.2+
1.2.14.1.3+73.2+
1.2.34.1.5+73.2+
1.3.44.2.6+73.2+
1.3.64.2.7+73.2+
1.3.74.2.7+73.2+
1.3.84.2.8+73.2+
1.4.04.3.2+73.2+
1.4.14.3.373.2+
1.4.24.3.473.2+
1.4.34.3.573.2+
1.4.44.3.673.2+
1.4.54.3.773.2+
1.4.64.3.873.2+
1.4.74.3.973.2+
1.5.04.3.673.2+
1.5.24.3.773.2+
1.5.34.3.873.2+
1.5.44.3.973.2+
1.5.54.3.1073.2+
1.5.74.3.1173.2+
1.5.84.3.1273.2+
1.5.94.3.1373.2+
2.0.05.0.283.2+

>Spring 与 JDK

|Spring Framework Versions

Spring FrameworkJDK
5.1.x8 - 12
5.0.148 - 10
4.3.24 维护截止到 2020年6月支持 6 - 8,建议 7 or 8
3.2.18 已停止维护5

>SpringBoot 与 Spring Framework

SpringBootSpring Framework
2.2.x5.x.x
2.1.x5.1.x
2.0.x5.0.x
1.5.x4.3

jdk 版本选择

目前jdk分为两种

  • oracle jdk
1)jdk 8是 LTS 版,下一个LTS版是 jdk 11,从当前技术普及来看,主流的仍是jdk8。
按照Oracle 官方的说法,Jdk 8u191/Jdk 8u192 Oracle官方同时推出的两个最后免费jdk 8发行版, 这之后的java 8发行版理论上都需要付费。
2)对于 8u191 和 8u192,更推荐使用 8u191 版。
原因是:奇数编号的发行版仅包含经验证的bug fix,偶数编号的发行版不含经验证和非经验证的改进,所以生产环境推荐使用奇数编号的发行版。

再比如jdk 10是一个很特别的版本, 它是第一个真正移除deprecated code的版本, 之前的jdk实际上并没有真正移除那些过期api. 
  • open jdk
    openjdk 是一个厂商中立的 jdk, 目前看是一个很好的选择, 下载地址
    https://openjdk.java.net/
    https://jdk.java.net/
    https://adoptopenjdk.net

版本选择的原则

  1. 优先选择官方指定的long-term support(LTS)版本, 非LTS版本往往会引入较多实验性的特性, 稳定性要比LTS要差一些, LTS版本生命周期甚至会比晚发行的非LTS版更长久.
  2. 优先选择纯粹的bugfix版, 而不是那种有引入新特性的版本.
  3. 如果不想跟最新的技术, 选择上一个大版本的最后一个小版本, 这个小版本往往是一个比较稳定的版本, 比如Spring framework 当前版本是5.1, 我们可以选择 4.3.22. 这里推荐使用 mvnrepository.com 网站找到这个小版本.
    比如, spring framework 版本清单: https://mvnrepository.com/artifact/org.springframework/spring-core
    再如, spring boot 版本清单: https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter

Spring Boot 版本

目前 Spring Boot 有三个重要分支: 1.5.x 和 2.0.x 和 2.1.x, 注意它们是三个分支, 比如 v2.1.1 并不能算作是 v2.0.8 的升级版, 实际上v2.1.1是早于 v2.0.8 版发布的, 这一点可以从发布历史中得到验证, 见 https://github.com/spring-projects/spring-boot/tags

Spring Boot 官方只是在一些官方的blog中零星提及某些版本的EOL, 没有各版本maintenance roadmap.

下面是目前主要分支的EOL:
(1) 1.5.x 分支(主要依赖Spring framework 4.3), 将于2019年8月EOL, Spring framework 4.3.22 预计在2020年中EOL.
(2) 2.0.x 分支(主要依赖Spring framework 5.0.x), 将跟随Spring 5.0.x 在2019年3月EOL.
(3) 2.1.x 分支(主要依赖Spring framework 5.1.x), 目前没有设定EOL日期, 但Spring framework 5.1应该不是一个longer-lived 版本, 所以 2.1.x 分支的支持期应该也不会很长. 预计下一个基于 Spring framework 5.2 的Spring boot分支才是真正的longer-lived 版.

版本选择: 官方建议使用v2.1.x版本, 但基于上面的简单分析, Spring Boot 版本选择就比较尴尬, 目前没有一个版本特别合适最新的生产项目的开发, 好在2.1.x的最新版2.1.3是一个 bugfix 版, 所以推荐暂时采用2.1.3版.

Spring framework 各版支持时间:
https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-Versions

Spring boot 各版的release note:
https://github.com/spring-projects/spring-boot/wiki

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值