Spring(2) Spring、Spring Boot 和 Spring Cloud 版本管理

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.通过代码进行查看:可以查看 SpringSpring Boot 版本;
  • 2.通过 pom.xml 进行查看:可以查看 Spring BootSpring Cloud 版本;
  • 3.通过 mvn 命令进行查看:可以查看 SpringSpring BootSpring Cloud 版本。

下面我们就看下这三种方法的具体使用:

1)通过代码进行查看

可以查看 SpringSpring 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 BootSpring 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-webspring-boot-dependencies 版本为 2.1.13.RELEASE
  • spring-cloud-dependencies 版本为 Greenwich.SR3

3)通过 mvn 命令进行查看

可以查看 SpringSpring BootSpring Cloud 版本。

mvn dependency:tree

执行结果:

[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:2.1.13.RELEASE:***pile
[INFO] |  +- org.springframework.boot:spring-boot-starter:jar:2.1.13.RELEASE:***pile
[INFO] |  |  +- ...
[INFO] |  +- org.springframework.boot:spring-boot-starter-json:jar:2.1.13.RELEASE:***pile
[INFO] |  |  +- ...
[INFO] |  +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.1.13.RELEASE:***pile
[INFO] |  |  +- ...
[INFO] |  +- org.hibernate.validator:hibernate-validator:jar:6.0.18.Final:***pile
[INFO] |  |  \- ...
[INFO] |  +- org.springframework:spring-web:jar:5.1.14.RELEASE:***pile
[INFO] |  |  \- ...
[INFO] |  \- org.springframework:spring-webmvc:jar:5.1.14.RELEASE:***pile

mvn 命令执行结果可以看到:

  • spring-webspring-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.***/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 所依赖的 JavaSpring FrameworkTomcat 等版本信息。(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.***/

从 Maven 仓库中搜索相应的 spring-boot-starter-web 包,查看详情可以看到该 jar 包底层是依赖于哪些包。

3)根据官方文档整理的版本对应信息【核心】

下面梳理了 SpringBoot1.0.0.RELEASE3.0.4 版本所对应的 SpringJDKMaven 版本信息。

(点击版本号进入相应版本的官方文档)

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.***/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 ***patible 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 的 DalstonEdgwareFinchley、和 Greenwich 版本已经终结,不再提供支持。

Bug 修复和 共用特性的添加会发布在 RELEASE 版本中。当使用 Spring Cloud 框架某个版本时,应该选择该版本中最新的 RELEASE 版本。

查询各版本最新 RELEASE 版的网址:https://github.***/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] --------------------------< ***.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-***piler-plugin:3.10.1:***pile (default-***pile) @ demo ---
[INFO] Changes detected - re***piling the module!
[INFO] ***piling 1 source file to C:\Users\lenovo\Downloads\demo (1)\demo\target\classes
[INFO] -------------------------------------------------------------
[ERROR] ***PILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /C:/Users/lenovo/Downloads/demo (1)/demo/src/main/java/***/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-***piler-plugin:3.10.1:***pile (default-***pile) on project demo: ***pilation failure
[ERROR] /C:/Users/lenovo/Downloads/demo (1)/demo/src/main/java/***/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.***/BHSZZY/article/details/128925740

转载请说明出处内容投诉
CSS教程_站长资源网 » Spring(2) Spring、Spring Boot 和 Spring Cloud 版本管理

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买