Spring(2) Spring、Spring Boot 和 Spring Cloud 版本管理
目录
Spring 官网地址: https://spring.io/
Spring Boot 官网地址: https://spring.io/projects/spring-boot
Spring Cloud 官网地址: https://spring.io/projects/spring-cloud
Spring Initializr 官网地址: https://start.spring.io/
Spring Boot 官方文档: https://docs.spring.io/spring-boot/docs/
Spring Boot 官方各版本文档: https://docs.spring.io/spring-boot/docs/{版本号}/reference/htmlsingle/
1.如何查看项目中使用的版本?
以下提供了三种查看项目所使用的 Spring 版本的方法:
- 1.通过
代码
进行查看:可以查看Spring
、Spring Boot
版本; - 2.通过
pom.xml
进行查看:可以查看Spring Boot
、Spring Cloud
版本; - 3.通过
mvn
命令进行查看:可以查看Spring
、Spring Boot
、Spring Cloud
版本。
下面我们就看下这三种方法的具体使用:
1)通过代码进行查看
可以查看 Spring
、Spring Boot
版本。
import org.junit.jupiter.api.Test;
import org.springframework.boot.SpringBootVersion;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.core.SpringVersion;
@SpringBootTest
class SpringbootDemoApplicationTests {
@Test
public void getSpringVersion() {
String springVersion = SpringVersion.getVersion();
String springBootVersion = SpringBootVersion.getVersion();
System.out.println("springVersion: " + springVersion);
System.out.println("springBootVersion: " + springBootVersion);
}
}
执行结果:
从代码打印结果可以看到:
Spring
版本为5.1.14.RELEASE
;Spring Boot
版本为2.1.13.RELEASE
。
2)通过 pom.xml 进行查看
可以查看 Spring Boot
、Spring Cloud
版本。
<!-- Spring Boot(集成方式1:parent) -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.13.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!-- Spring Boot(集成方式2:单独引用dependency) -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.1.13.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Spring Boot(集成方式3:集中引用) -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<!-- Spring Cloud -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.SR3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
从 pom.xml
中可以看到:
spring-boot-starter-web
和spring-boot-dependencies
版本为2.1.13.RELEASE
;spring-cloud-dependencies
版本为Greenwich.SR3
。
3)通过 mvn 命令进行查看
可以查看 Spring
、Spring Boot
、Spring Cloud
版本。
mvn dependency:tree
执行结果:
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:2.1.13.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:2.1.13.RELEASE:compile
[INFO] | | +- ...
[INFO] | +- org.springframework.boot:spring-boot-starter-json:jar:2.1.13.RELEASE:compile
[INFO] | | +- ...
[INFO] | +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.1.13.RELEASE:compile
[INFO] | | +- ...
[INFO] | +- org.hibernate.validator:hibernate-validator:jar:6.0.18.Final:compile
[INFO] | | \- ...
[INFO] | +- org.springframework:spring-web:jar:5.1.14.RELEASE:compile
[INFO] | | \- ...
[INFO] | \- org.springframework:spring-webmvc:jar:5.1.14.RELEASE:compile
从 mvn
命令执行结果可以看到:
spring-web
和spring-webmvc
版本5.1.14.RELEASE
;spring-boot-starter-web
版本为2.1.13.RELEASE
;Spring Cloud
版本可以通过Spring Boot
的版本对应到Greenwich
。
2.Spring Boot 和 Spring 版本对应关系
1)根据官网判断
Spring Boot 官网:https://spring.io/projects/spring-boot#learn
(GA
General Availability 表示官方确认发布的稳定版本)
Spring Boot 官网 RELEASE 版本清单:https://github.com/spring-projects/spring-boot/wiki#release-notes
可以点击官网中相应的版本,查看版本的说明文档,如果文档中没有 Spring Framework
相关内容,则表示 Spring Framework 没有版本升级,可以再看下再之前的版本,使用的是什么的版本。
例如:Spring Boot 3.0 版本中升级了 Spring 6,文档中就会有说明:
2)根据官方文档判断
Spring Boot 官方文档: https://docs.spring.io/spring-boot/docs/
Spring Boot 官方各版本文档: https://docs.spring.io/spring-boot/docs/版本号/reference/htmlsingle/
注意: 由于官方文档比较大,用浏览器访问会有点卡顿。
Tips: 在官方文档中直接搜索
Requirements
就可以看到Spring Boot
所依赖的Java
、Spring Framework
、Tomcat
等版本信息。(1.2.0.RELEASE 之后 Requirements 的描述比较完善。)
2.1)查看具体版本的官方文档
例如:想查看 2.1.13.RELEASE
版本的官方文档,可以访问如下地址:
https://docs.spring.io/spring-boot/docs/2.1.13.RELEASE/reference/htmlsingle/
2.2)查看大版本的官方文档
例如:想查看 2.1.x
大版本的官方文档,可以访问如下地址:
https://docs.spring.io/spring-boot/docs/2.1.x/reference/htmlsingle/
3)根据 Maven 仓库判断
Maven仓库地址: https://mvnrepository.com/
从 Maven 仓库中搜索相应的 spring-boot-starter-web
包,查看详情可以看到该 jar 包底层是依赖于哪些包。
3)根据官方文档整理的版本对应信息【核心】
下面梳理了 SpringBoot
从 1.0.0.RELEASE
到 3.0.4
版本所对应的 Spring
、JDK
、Maven
版本信息。
(点击版本号进入相应版本的官方文档)
Spring Boot 版本 | Spring Framework 版本 | JDK 版本 | Maven 版本 |
---|---|---|---|
1.0.0.RELEASE | 4.0.3.RELEASE | Java 1.6 | Maven (3.0+) |
1.0.1.RELEASE | 4.0.3.RELEASE | Java 1.6 | Maven (3.0+) |
1.0.2.RELEASE | 4.0.3.RELEASE | Java 1.6 | Maven (3.0+) |
1.1.0.RELEASE | 4.0.5.RELEASE | Java 1.6 | Maven (3.0+) |
1.1.1.RELEASE | 4.0.5.RELEASE | Java 1.6 | Maven (3.0+) |
1.1.2.RELEASE | 4.0.5.RELEASE | Java 1.6 | Maven (3.0+) |
1.1.3.RELEASE | 4.0.5.RELEASE | Java 1.6 | Maven (3.0+) |
1.1.4.RELEASE | 4.0.6.RELEASE | Java 1.6 | Maven (3.0+) |
1.1.5.RELEASE | 4.0.6.RELEASE | Java 1.6 | Maven (3.0+) |
1.1.6.RELEASE | 4.0.7.RELEASE | Java 1.6 | Maven (3.0+) |
1.1.7.RELEASE | 4.0.7.RELEASE | Java 1.6 | Maven (3.0+) |
1.1.8.RELEASE | 4.0.7.RELEASE | Java 1.6 | Maven (3.0+) |
1.1.9.RELEASE | 4.0.8.RELEASE | Java 1.6 | Maven (3.0+) |
1.1.10.RELEASE | 4.0.8.RELEASE | Java 1.6 | Maven (3.0+) |
1.1.11.RELEASE | 4.0.9.RELEASE | Java 1.6 | Maven (3.0+) |
1.1.12.RELEASE | 4.0.9.RELEASE | Java 1.6 | Maven (3.0+) |
1.2.0.RELEASE | 4.1.3.RELEASE | Java 6,推荐 Java 8 | Maven (3.2+) |
1.2.1.RELEASE | 4.1.4.RELEASE,支持4.1.3及以上 | Java 6,推荐 Java 8 | Maven (3.2+) |
1.2.2.RELEASE | 4.1.5.RELEASE,支持4.1.3及以上 | Java 7,推荐 Java 8 | Maven (3.2+) |
1.2.3.RELEASE | 4.1.6.RELEASE,支持4.1.5及以上 | Java 7,推荐 Java 8 | Maven (3.2+) |
1.2.4.RELEASE | 4.1.6.RELEASE,支持4.1.5及以上 | Java 7,推荐 Java 8 | Maven (3.2+) |
1.2.5.RELEASE | 4.1.7.RELEASE,支持4.1.5及以上 | Java 7,推荐 Java 8 | Maven (3.2+) |
1.2.6.RELEASE | 4.1.7.RELEASE,支持4.1.5及以上 | Java 7,推荐 Java 8 | Maven (3.2+) |
1.2.7.RELEASE | 4.1.8.RELEASE,支持4.1.5及以上 | Java 7,推荐 Java 8 | Maven (3.2+) |
1.2.8.RELEASE | 4.1.9.RELEASE,支持4.1.5及以上 | Java 7,推荐 Java 8 | Maven (3.2+) |
1.3.0.RELEASE | 4.2.3.RELEASE,支持4.1.5及以上 | Java 7,推荐 Java 8 | Maven (3.2+) |
1.3.1.RELEASE | 4.2.4.RELEASE,支持4.1.5及以上 | Java 7,推荐 Java 8 | Maven (3.2+) |
1.3.2.RELEASE | 4.2.4.RELEASE,支持4.1.5及以上 | Java 7,推荐 Java 8 | Maven (3.2+) |
1.3.3.RELEASE | 4.2.5.RELEASE,支持4.1.5及以上 | Java 7,推荐 Java 8 | Maven (3.2+) |
1.3.4.RELEASE | 4.2.6.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.3.5.RELEASE | 4.2.6.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.3.6.RELEASE | 4.2.7.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.3.7.RELEASE | 4.2.7.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.3.8.RELEASE | 4.2.8.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.4.0.RELEASE | 4.3.2.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.4.1.RELEASE | 4.3.3.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.4.2.RELEASE | 4.3.4.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.4.3.RELEASE | 4.3.5.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.4.4.RELEASE | 4.3.6.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.4.5.RELEASE | 4.3.7.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.4.6.RELEASE | 4.3.8.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.4.7.RELEASE | 4.3.9.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.0.RELEASE | 4.3.6.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.1.RELEASE | 4.3.6.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.2.RELEASE | 4.3.7.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.3.RELEASE | 4.3.8.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.4.RELEASE | 4.3.9.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.5.RELEASE | 4.3.10.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.6.RELEASE | 4.3.10.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.7.RELEASE | 4.3.11.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.8.RELEASE | 4.3.12.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.9.RELEASE | 4.3.13.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.10.RELEASE | 4.3.14.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.11.RELEASE | 4.3.15.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.12.RELEASE | 4.3.16.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.13.RELEASE | 4.3.17.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.14.RELEASE | 4.3.18.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.15.RELEASE | 4.3.18.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.16.RELEASE | 4.3.19.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.17.RELEASE | 4.3.20.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.18.RELEASE | 4.3.21.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.19.RELEASE | 4.3.22.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.20.RELEASE | 4.3.23.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.21.RELEASE | 4.3.24.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
1.5.22.RELEASE | 4.3.25.RELEASE | Java 7,推荐 Java 8 | Maven (3.2+) |
2.0.0.RELEASE | 5.0.4.RELEASE | Java 8 or 9 | Maven 3.2+ |
2.0.1.RELEASE | 5.0.5.RELEASE | Java 8 or 9 | Maven 3.2+ |
2.0.2.RELEASE | 5.0.6.RELEASE | Java 8 or 9 | Maven 3.2+ |
2.0.3.RELEASE | 5.0.7.RELEASE | Java 8 or 9 | Maven 3.2+ |
2.0.4.RELEASE | 5.0.8.RELEASE | Java 8 or 9 | Maven 3.2+ |
2.0.5.RELEASE | 5.0.9.RELEASE | Java 8 or 9 | Maven 3.2+ |
2.0.6.RELEASE | 5.0.10.RELEASE | Java 8 or 9 | Maven 3.2+ |
2.0.7.RELEASE | 5.0.11.RELEASE | Java 8 or 9 | Maven 3.2+ |
2.0.8.RELEASE | 5.0.12.RELEASE | Java 8 or 9 | Maven 3.2+ |
2.0.9.RELEASE | 5.0.13.RELEASE | Java 8 or 9 | Maven 3.2+ |
2.1.0.RELEASE | 5.1.2.RELEASE | Java 8 or 9 | Maven 3.3+ |
2.1.1.RELEASE | 5.1.3.RELEASE | Java 8,支持Java 11 | Maven 3.3+ |
2.1.2.RELEASE | 5.1.4.RELEASE | Java 8,支持Java 11 | Maven 3.3+ |
2.1.3.RELEASE | 5.1.5.RELEASE | Java 8,支持Java 11 | Maven 3.3+ |
2.1.4.RELEASE | 5.1.6.RELEASE | Java 8,支持Java 11 | Maven 3.3+ |
2.1.5.RELEASE | 5.1.7.RELEASE | Java 8,支持Java 11 | Maven 3.3+ |
2.1.6.RELEASE | 5.1.8.RELEASE | Java 8,支持Java 11 | Maven 3.3+ |
2.1.7.RELEASE | 5.1.9.RELEASE | Java 8,支持Java 12 | Maven 3.3+ |
2.1.8.RELEASE | 5.1.9.RELEASE | Java 8,支持Java 12 | Maven 3.3+ |
2.1.9.RELEASE | 5.1.10.RELEASE | Java 8,支持Java 12 | Maven 3.3+ |
2.1.10.RELEASE | 5.1.11.RELEASE | Java 8,支持Java 12 | Maven 3.3+ |
2.1.11.RELEASE | 5.1.12.RELEASE | Java 8,支持Java 12 | Maven 3.3+ |
2.1.12.RELEASE | 5.1.13.RELEASE | Java 8,支持Java 12 | Maven 3.3+ |
2.1.13.RELEASE | 5.1.14.RELEASE | Java 8,支持Java 12 | Maven 3.3+ |
2.1.14.RELEASE | 5.1.15.RELEASE | Java 8,支持Java 12 | Maven 3.3+ |
2.1.15.RELEASE | 5.1.16.RELEASE | Java 8,支持Java 12 | Maven 3.3+ |
2.1.16.RELEASE | 5.1.17.RELEASE | Java 8,支持Java 12 | Maven 3.3+ |
2.1.17.RELEASE | 5.1.18.RELEASE | Java 8,支持Java 12 | Maven 3.3+ |
2.1.18.RELEASE | 5.1.19.RELEASE | Java 8,支持Java 12 | Maven 3.3+ |
2.2.0.RELEASE | 5.2.0.RELEASE | Java 8,支持Java 13 | Maven 3.3+ |
2.2.1.RELEASE | 5.2.1.RELEASE | Java 8,支持Java 13 | Maven 3.3+ |
2.2.2.RELEASE | 5.2.2.RELEASE | Java 8,支持Java 13 | Maven 3.3+ |
2.2.3.RELEASE | 5.2.3.RELEASE | Java 8,支持Java 13 | Maven 3.3+ |
2.2.4.RELEASE | 5.2.3.RELEASE | Java 8,支持Java 13 | Maven 3.3+ |
2.2.5.RELEASE | 5.2.4.RELEASE | Java 8,支持Java 13 | Maven 3.3+ |
2.2.6.RELEASE | 5.2.5.RELEASE | Java 8,支持Java 13 | Maven 3.3+ |
2.2.7.RELEASE | 5.2.6.RELEASE | Java 8,支持Java 14 | Maven 3.3+ |
2.2.8.RELEASE | 5.2.7.RELEASE | Java 8,支持Java 14 | Maven 3.3+ |
2.2.9.RELEASE | 5.2.8.RELEASE | Java 8,支持Java 14 | Maven 3.3+ |
2.2.10.RELEASE | 5.2.9.RELEASE | Java 8,支持Java 14 | Maven 3.3+ |
2.2.11.RELEASE | 5.2.10.RELEASE | Java 8,支持Java 15 | Maven 3.3+ |
2.2.12.RELEASE | 5.2.12.RELEASE | Java 8,支持Java 15 | Maven 3.3+ |
2.2.13.RELEASE | 5.2.12.RELEASE | Java 8,支持Java 15 | Maven 3.3+ |
2.3.0.RELEASE | 5.2.6.RELEASE | Java 8,支持Java 14 | Maven 3.3+ |
2.3.1.RELEASE | 5.2.7.RELEASE | Java 8,支持Java 14 | Maven 3.3+ |
2.3.2.RELEASE | 5.2.8.RELEASE | Java 8,支持Java 14 | Maven 3.3+ |
2.3.3.RELEASE | 5.2.8.RELEASE | Java 8,支持Java 14 | Maven 3.3+ |
2.3.4.RELEASE | 5.2.9.RELEASE | Java 8,支持Java 14 | Maven 3.3+ |
2.3.5.RELEASE | 5.2.10.RELEASE | Java 8,支持Java 15 | Maven 3.3+ |
2.3.6.RELEASE | 5.2.11.RELEASE | Java 8,支持Java 15 | Maven 3.3+ |
2.3.7.RELEASE | 5.2.12.RELEASE | Java 8,支持Java 15 | Maven 3.3+ |
2.3.8.RELEASE | 5.2.12.RELEASE | Java 8,支持Java 15 | Maven 3.3+ |
2.3.9.RELEASE | 5.2.13.RELEASE | Java 8,支持Java 15 | Maven 3.3+ |
2.3.10.RELEASE | 5.2.14.RELEASE | Java 8,支持Java 15 | Maven 3.3+ |
2.3.11.RELEASE | 5.2.15.RELEASE | Java 8,支持Java 15 | Maven 3.5+ |
2.3.12.RELEASE | 5.2.15.RELEASE | Java 8,支持Java 15 | Maven 3.5+ |
2.4.0 | 5.3.1 | Java 8,支持Java 15 | Maven 3.3+ |
2.4.1 | 5.3.2 | Java 8,支持Java 15 | Maven 3.3+ |
2.4.2 | 5.3.3 | Java 8,支持Java 15 | Maven 3.3+ |
2.4.3 | 5.3.4 | Java 8,支持Java 15 | Maven 3.3+ |
2.4.4 | 5.3.5 | Java 8,支持Java 16 | Maven 3.3+ |
2.4.5 | 5.3.6 | Java 8,支持Java 16 | Maven 3.3+ |
2.4.6 | 5.3.7 | Java 8,支持Java 16 | Maven 3.5+ |
2.4.7 | 5.3.8 | Java 8,支持Java 16 | Maven 3.5+ |
2.4.8 | 5.3.8 | Java 8,支持Java 16 | Maven 3.5+ |
2.4.9 | 5.3.9 | Java 8,支持Java 16 | Maven 3.5+ |
2.4.10 | 5.3.9 | Java 8,支持Java 16 | Maven 3.5+ |
2.4.11 | 5.3.10 | Java 8,支持Java 16 | Maven 3.5+ |
2.4.12 | 5.3.12 | Java 8,支持Java 16 | Maven 3.5+ |
2.4.13 | 5.3.13 | Java 8,支持Java 16 | Maven 3.5+ |
2.5.0 | 5.3.7 | Java 8,支持Java 16 | Maven 3.5+ |
2.5.1 | 5.3.8 | Java 8,支持Java 16 | Maven 3.5+ |
2.5.2 | 5.3.8 | Java 8,支持Java 16 | Maven 3.5+ |
2.5.3 | 5.3.9 | Java 8,支持Java 16 | Maven 3.5+ |
2.5.4 | 5.3.9 | Java 8,支持Java 16 | Maven 3.5+ |
2.5.5 | 5.3.10 | Java 8,支持Java 17 | Maven 3.5+ |
2.5.6 | 5.3.12 | Java 8,支持Java 17 | Maven 3.5+ |
2.5.7 | 5.3.13 | Java 8,支持Java 17 | Maven 3.5+ |
2.5.8 | 5.3.14 | Java 8,支持Java 17 | Maven 3.5+ |
2.5.9 | 5.3.15 | Java 8,支持Java 17 | Maven 3.5+ |
2.5.10 | 5.3.16 | Java 8,支持Java 17 | Maven 3.5+ |
2.5.11 | 5.3.17 | Java 8,支持Java 17 | Maven 3.5+ |
2.5.12 | 5.3.18 | Java 8,支持Java 17 | Maven 3.5+ |
2.5.13 | 5.3.19 | Java 8,支持Java 17 | Maven 3.5+ |
2.5.14 | 5.3.20 | Java 8,支持Java 18 | Maven 3.5+ |
2.6.0 | 5.3.13 | Java 8,支持Java 17 | Maven 3.5+ |
2.6.1 | 5.3.13 | Java 8,支持Java 17 | Maven 3.5+ |
2.6.2 | 5.3.14 | Java 8,支持Java 17 | Maven 3.5+ |
2.6.3 | 5.3.15 | Java 8,支持Java 17 | Maven 3.5+ |
2.6.4 | 5.3.16 | Java 8,支持Java 17 | Maven 3.5+ |
2.6.5 | 5.3.17 | Java 8,支持Java 17 | Maven 3.5+ |
2.6.6 | 5.3.18 | Java 8,支持Java 17 | Maven 3.5+ |
2.6.7 | 5.3.19 | Java 8,支持Java 17 | Maven 3.5+ |
2.6.8 | 5.3.20 | Java 8,支持Java 18 | Maven 3.5+ |
2.6.9 | 5.3.21 | Java 8,支持Java 18 | Maven 3.5+ |
2.6.10 | 5.3.22 | Java 8,支持Java 18 | Maven 3.5+ |
2.6.11 | 5.3.22 | Java 8,支持Java 18 | Maven 3.5+ |
2.6.12 | 5.3.23 | Java 8,支持Java 19 | Maven 3.5+ |
2.6.13 | 5.3.23 | Java 8,支持Java 19 | Maven 3.5+ |
2.6.14 | 5.3.24 | Java 8,支持Java 19 | Maven 3.5+ |
2.7.0 | 5.3.20 | Java 8,支持Java 18 | Maven 3.5+ |
2.7.1 | 5.3.21 | Java 8,支持Java 18 | Maven 3.5+ |
2.7.2 | 5.3.22 | Java 8,支持Java 18 | Maven 3.5+ |
2.7.3 | 5.3.22 | Java 8,支持Java 18 | Maven 3.5+ |
2.7.4 | 5.3.23 | Java 8,支持Java 19 | Maven 3.5+ |
2.7.5 | 5.3.23 | Java 8,支持Java 19 | Maven 3.5+ |
2.7.6 | 5.3.24 | Java 8,支持Java 19 | Maven 3.5+ |
2.7.7 | 5.3.24 | Java 8,支持Java 19 | Maven 3.5+ |
2.7.8 | 5.3.25 | Java 8,支持Java 19 | Maven 3.5+ |
2.7.9 | 5.3.25 | Java 8,支持Java 19 | Maven 3.5+ |
3.0.0 | 6.0.2 | Java 17,支持Java 19 | Maven 3.5+ |
3.0.1 | 6.0.3 | Java 17,支持Java 19 | Maven 3.5+ |
3.0.2 | 6.0.4 | Java 17,支持Java 19 | Maven 3.5+ |
3.0.3 | 6.0.5 | Java 17,支持Java 19 | Maven 3.5+ |
3.0.4 | 6.0.6 | Java 17,支持Java 19 | Maven 3.5+ |
文章篇幅有限,Gradle版本、Tomcat版本、Jetty版本、Undertow版本等信息可以下载 Excel 文件查看。
完整 Excel 下载地址:https://download.csdn.net/download/qq_33204709/87577409
需要注意的是,这只是一个大致的对应关系,并不是绝对的。在实际使用中,可能会存在不同版本的 Spring Boot 与 Spring Framework 版本搭配使用的情况。同时,不同版本的 Spring Boot 也可能会引入不同版本的 Spring Framework 模块,因此需要根据具体情况进行选择和调整。
建议在使用 Spring Boot 时,参考 Spring Boot 官方文档中的版本兼容性说明,以确定所使用的 Spring Framework 版本。
3.Spring Cloud 和 Spring Boot 版本对应关系
从 Spring Cloud 官方页面我们可以看到最新的 Spring Boot 和 Spring Cloud 的对应关系。
Spring Cloud 官网地址:https://spring.io/projects/spring-cloud
如果我们想知道具体版本Spring Cloud 和 Spring Boot 的对应关系,只需要将下面的地址的版本号替换为具体的 Spring Cloud 版本号即可:
https://docs.spring.io/spring-cloud/docs/版本号/reference/html/
例如:https://docs.spring.io/spring-cloud/docs/2020.0.0/reference/html/
官方提示:
Spring Cloud Dalston, Edgware, Finchley, and Greenwich have all reached end of life status and are no longer supported.
Bug fixes and backwards compatible features are added to each release train via a service release (SR). Once you determine which version of Spring Cloud to use, you should use the latest service release for that release train. You can find the latest service release information on our release notes page.
翻译:
Spring Cloud 的
Dalston
、Edgware
、Finchley
、和Greenwich
版本已经终结,不再提供支持。Bug 修复和 共用特性的添加会发布在 RELEASE 版本中。当使用 Spring Cloud 框架某个版本时,应该选择该版本中最新的 RELEASE 版本。
查询各版本最新 RELEASE 版的网址:https://github.com/spring-cloud/spring-cloud-release/wiki
补充:
1.通过 Spring Initializr 下载的包构建报错:类文件具有错误的版本 61.0, 应为 52.0
完整报错信息:
D:\java\jdk1.8.0_60\bin\java.exe "-Dmaven.multiModuleProjectDirectory=C:\Users\lenovo\Downloads\demo (1)\demo" -Dmaven.home=D:\java\apache-maven-3.6.1 -Dclassworlds.conf=D:\java\apache-maven-3.6.1\bin\m2.conf "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2019.1.3\lib\idea_rt.jar=58737:D:\Program Files\JetBrains\IntelliJ IDEA 2019.1.3\bin" -Dfile.encoding=UTF-8 -classpath D:\java\apache-maven-3.6.1\boot\plexus-classworlds-2.6.0.jar org.codehaus.classworlds.Launcher -Didea.version2019.1.3 -s D:\java\apache-maven-3.6.1\conf\settings.xml clean install
[INFO] Scanning for projects...
[INFO]
[INFO] --------------------------< com.example:demo >--------------------------
[INFO] Building demo 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:3.2.0:clean (default-clean) @ demo ---
[INFO] Deleting C:\Users\lenovo\Downloads\demo (1)\demo\target
[INFO]
[INFO] --- maven-resources-plugin:3.3.0:resources (default-resources) @ demo ---
[INFO] Copying 1 resource
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.10.1:compile (default-compile) @ demo ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to C:\Users\lenovo\Downloads\demo (1)\demo\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /C:/Users/lenovo/Downloads/demo (1)/demo/src/main/java/com/example/demo/DemoApplication.java:[3,32] 无法访问org.springframework.boot.SpringApplication
错误的类文件: D:\maven_repository\org\springframework\boot\spring-boot\3.0.4\spring-boot-3.0.4.jar(org/springframework/boot/SpringApplication.class)
类文件具有错误的版本 61.0, 应为 52.0
请删除该文件或确保该文件位于正确的类路径子目录中。
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.412 s
[INFO] Finished at: 2023-03-13T09:56:48+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile (default-compile) on project demo: Compilation failure
[ERROR] /C:/Users/lenovo/Downloads/demo (1)/demo/src/main/java/com/example/demo/DemoApplication.java:[3,32] 无法访问org.springframework.boot.SpringApplication
[ERROR] 错误的类文件: D:\maven_repository\org\springframework\boot\spring-boot\3.0.4\spring-boot-3.0.4.jar(org/springframework/boot/SpringApplication.class)
[ERROR] 类文件具有错误的版本 61.0, 应为 52.0
[ERROR] 请删除该文件或确保该文件位于正确的类路径子目录中。
[ERROR]
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
Process finished with exit code 1
报错原因:
使用的 Spring 版本较高,SpringBoot 3.x 依赖的是 Spring 6.x。
Spring 3.x 需要使用 JDK17
进行编译,如果本地使用的是 JDK8
编译构建就会报错。
解决方法:
降低依赖版本,Spring Boot 改为使用 2.x 版本即可。
整理完毕,完结撒花~
参考地址:
1.类文件具有错误的版本 61.0, 应为 52.0的解决方法,https://blog.csdn.net/BHSZZY/article/details/128925740