Spring(2) Spring、Spring Boot 和 Spring Cloud 版本管理
作者:mmseoamin日期:2023-12-25

目录

    • 1.如何查看项目中使用的版本?
      • 1)通过代码进行查看
      • 2)通过 pom.xml 进行查看
      • 3)通过 mvn 命令进行查看
      • 2.Spring Boot 和 Spring 版本对应关系
        • 1)根据官网判断
        • 2)根据官方文档判断
          • 2.1)查看具体版本的官方文档
          • 2.2)查看大版本的官方文档
          • 3)根据 Maven 仓库判断
          • 3)根据官方文档整理的版本对应信息【核心】
          • 3.Spring Cloud 和 Spring Boot 版本对应关系
          • 补充:
            • 1.通过 Spring Initializr 下载的包构建报错:类文件具有错误的版本 61.0, 应为 52.0

              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(2) Spring、Spring Boot 和 Spring Cloud 版本管理,第1张

                从代码打印结果可以看到:

                • Spring 版本为 5.1.14.RELEASE;
                • Spring Boot 版本为 2.1.13.RELEASE。

                  2)通过 pom.xml 进行查看

                  可以查看 Spring Boot、Spring Cloud 版本。

                  
                  
                      org.springframework.boot
                      spring-boot-starter-parent
                      2.1.13.RELEASE
                       
                  
                  
                  
                      org.springframework.boot
                      spring-boot-starter-web
                      2.1.13.RELEASE
                      pom
                      import
                  
                  
                  
                      
                          
                              org.springframework.boot
                              spring-boot-dependencies
                              ${spring-boot.version}
                              pom
                              import
                          
                      
                  
                  
                  
                      
                          
                              org.springframework.cloud
                              spring-cloud-dependencies
                              Greenwich.SR3
                              pom
                              import
                          
                      
                  
                  

                  从 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(2) Spring、Spring Boot 和 Spring Cloud 版本管理,在这里插入图片描述,第2张

                      Spring Boot 官网 RELEASE 版本清单:https://github.com/spring-projects/spring-boot/wiki#release-notes

                      Spring(2) Spring、Spring Boot 和 Spring Cloud 版本管理,在这里插入图片描述,第3张

                      可以点击官网中相应的版本,查看版本的说明文档,如果文档中没有 Spring Framework 相关内容,则表示 Spring Framework 没有版本升级,可以再看下再之前的版本,使用的是什么的版本。

                      例如:Spring Boot 3.0 版本中升级了 Spring 6,文档中就会有说明:

                      Spring(2) Spring、Spring Boot 和 Spring Cloud 版本管理,在这里插入图片描述,第4张

                      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/

                      Spring(2) Spring、Spring Boot 和 Spring Cloud 版本管理,在这里插入图片描述,第5张

                      2.2)查看大版本的官方文档

                      例如:想查看 2.1.x 大版本的官方文档,可以访问如下地址:

                      https://docs.spring.io/spring-boot/docs/2.1.x/reference/htmlsingle/

                      Spring(2) Spring、Spring Boot 和 Spring Cloud 版本管理,在这里插入图片描述,第6张

                      3)根据 Maven 仓库判断

                      Maven仓库地址: https://mvnrepository.com/

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

                      Spring(2) Spring、Spring Boot 和 Spring Cloud 版本管理,在这里插入图片描述,第7张

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

                      下面梳理了 SpringBoot 从 1.0.0.RELEASE 到 3.0.4 版本所对应的 Spring、JDK、Maven 版本信息。

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

                      Spring Boot 版本Spring Framework 版本JDK 版本Maven 版本
                      1.0.0.RELEASE4.0.3.RELEASEJava 1.6Maven (3.0+)
                      1.0.1.RELEASE4.0.3.RELEASEJava 1.6Maven (3.0+)
                      1.0.2.RELEASE4.0.3.RELEASEJava 1.6Maven (3.0+)
                      1.1.0.RELEASE4.0.5.RELEASEJava 1.6Maven (3.0+)
                      1.1.1.RELEASE4.0.5.RELEASEJava 1.6Maven (3.0+)
                      1.1.2.RELEASE4.0.5.RELEASEJava 1.6Maven (3.0+)
                      1.1.3.RELEASE4.0.5.RELEASEJava 1.6Maven (3.0+)
                      1.1.4.RELEASE4.0.6.RELEASEJava 1.6Maven (3.0+)
                      1.1.5.RELEASE4.0.6.RELEASEJava 1.6Maven (3.0+)
                      1.1.6.RELEASE4.0.7.RELEASEJava 1.6Maven (3.0+)
                      1.1.7.RELEASE4.0.7.RELEASEJava 1.6Maven (3.0+)
                      1.1.8.RELEASE4.0.7.RELEASEJava 1.6Maven (3.0+)
                      1.1.9.RELEASE4.0.8.RELEASEJava 1.6Maven (3.0+)
                      1.1.10.RELEASE4.0.8.RELEASEJava 1.6Maven (3.0+)
                      1.1.11.RELEASE4.0.9.RELEASEJava 1.6Maven (3.0+)
                      1.1.12.RELEASE4.0.9.RELEASEJava 1.6Maven (3.0+)
                      1.2.0.RELEASE4.1.3.RELEASEJava 6,推荐 Java 8Maven (3.2+)
                      1.2.1.RELEASE4.1.4.RELEASE,支持4.1.3及以上Java 6,推荐 Java 8Maven (3.2+)
                      1.2.2.RELEASE4.1.5.RELEASE,支持4.1.3及以上Java 7,推荐 Java 8Maven (3.2+)
                      1.2.3.RELEASE4.1.6.RELEASE,支持4.1.5及以上Java 7,推荐 Java 8Maven (3.2+)
                      1.2.4.RELEASE4.1.6.RELEASE,支持4.1.5及以上Java 7,推荐 Java 8Maven (3.2+)
                      1.2.5.RELEASE4.1.7.RELEASE,支持4.1.5及以上Java 7,推荐 Java 8Maven (3.2+)
                      1.2.6.RELEASE4.1.7.RELEASE,支持4.1.5及以上Java 7,推荐 Java 8Maven (3.2+)
                      1.2.7.RELEASE4.1.8.RELEASE,支持4.1.5及以上Java 7,推荐 Java 8Maven (3.2+)
                      1.2.8.RELEASE4.1.9.RELEASE,支持4.1.5及以上Java 7,推荐 Java 8Maven (3.2+)
                      1.3.0.RELEASE4.2.3.RELEASE,支持4.1.5及以上Java 7,推荐 Java 8Maven (3.2+)
                      1.3.1.RELEASE4.2.4.RELEASE,支持4.1.5及以上Java 7,推荐 Java 8Maven (3.2+)
                      1.3.2.RELEASE4.2.4.RELEASE,支持4.1.5及以上Java 7,推荐 Java 8Maven (3.2+)
                      1.3.3.RELEASE4.2.5.RELEASE,支持4.1.5及以上Java 7,推荐 Java 8Maven (3.2+)
                      1.3.4.RELEASE4.2.6.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.3.5.RELEASE4.2.6.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.3.6.RELEASE4.2.7.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.3.7.RELEASE4.2.7.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.3.8.RELEASE4.2.8.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.4.0.RELEASE4.3.2.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.4.1.RELEASE4.3.3.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.4.2.RELEASE4.3.4.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.4.3.RELEASE4.3.5.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.4.4.RELEASE4.3.6.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.4.5.RELEASE4.3.7.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.4.6.RELEASE4.3.8.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.4.7.RELEASE4.3.9.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.0.RELEASE4.3.6.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.1.RELEASE4.3.6.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.2.RELEASE4.3.7.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.3.RELEASE4.3.8.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.4.RELEASE4.3.9.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.5.RELEASE4.3.10.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.6.RELEASE4.3.10.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.7.RELEASE4.3.11.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.8.RELEASE4.3.12.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.9.RELEASE4.3.13.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.10.RELEASE4.3.14.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.11.RELEASE4.3.15.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.12.RELEASE4.3.16.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.13.RELEASE4.3.17.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.14.RELEASE4.3.18.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.15.RELEASE4.3.18.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.16.RELEASE4.3.19.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.17.RELEASE4.3.20.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.18.RELEASE4.3.21.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.19.RELEASE4.3.22.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.20.RELEASE4.3.23.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.21.RELEASE4.3.24.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      1.5.22.RELEASE4.3.25.RELEASEJava 7,推荐 Java 8Maven (3.2+)
                      2.0.0.RELEASE5.0.4.RELEASEJava 8 or 9Maven 3.2+
                      2.0.1.RELEASE5.0.5.RELEASEJava 8 or 9Maven 3.2+
                      2.0.2.RELEASE5.0.6.RELEASEJava 8 or 9Maven 3.2+
                      2.0.3.RELEASE5.0.7.RELEASEJava 8 or 9Maven 3.2+
                      2.0.4.RELEASE5.0.8.RELEASEJava 8 or 9Maven 3.2+
                      2.0.5.RELEASE5.0.9.RELEASEJava 8 or 9Maven 3.2+
                      2.0.6.RELEASE5.0.10.RELEASEJava 8 or 9Maven 3.2+
                      2.0.7.RELEASE5.0.11.RELEASEJava 8 or 9Maven 3.2+
                      2.0.8.RELEASE5.0.12.RELEASEJava 8 or 9Maven 3.2+
                      2.0.9.RELEASE5.0.13.RELEASEJava 8 or 9Maven 3.2+
                      2.1.0.RELEASE5.1.2.RELEASEJava 8 or 9Maven 3.3+
                      2.1.1.RELEASE5.1.3.RELEASEJava 8,支持Java 11Maven 3.3+
                      2.1.2.RELEASE5.1.4.RELEASEJava 8,支持Java 11Maven 3.3+
                      2.1.3.RELEASE5.1.5.RELEASEJava 8,支持Java 11Maven 3.3+
                      2.1.4.RELEASE5.1.6.RELEASEJava 8,支持Java 11Maven 3.3+
                      2.1.5.RELEASE5.1.7.RELEASEJava 8,支持Java 11Maven 3.3+
                      2.1.6.RELEASE5.1.8.RELEASEJava 8,支持Java 11Maven 3.3+
                      2.1.7.RELEASE5.1.9.RELEASEJava 8,支持Java 12Maven 3.3+
                      2.1.8.RELEASE5.1.9.RELEASEJava 8,支持Java 12Maven 3.3+
                      2.1.9.RELEASE5.1.10.RELEASEJava 8,支持Java 12Maven 3.3+
                      2.1.10.RELEASE5.1.11.RELEASEJava 8,支持Java 12Maven 3.3+
                      2.1.11.RELEASE5.1.12.RELEASEJava 8,支持Java 12Maven 3.3+
                      2.1.12.RELEASE5.1.13.RELEASEJava 8,支持Java 12Maven 3.3+
                      2.1.13.RELEASE5.1.14.RELEASEJava 8,支持Java 12Maven 3.3+
                      2.1.14.RELEASE5.1.15.RELEASEJava 8,支持Java 12Maven 3.3+
                      2.1.15.RELEASE5.1.16.RELEASEJava 8,支持Java 12Maven 3.3+
                      2.1.16.RELEASE5.1.17.RELEASEJava 8,支持Java 12Maven 3.3+
                      2.1.17.RELEASE5.1.18.RELEASEJava 8,支持Java 12Maven 3.3+
                      2.1.18.RELEASE5.1.19.RELEASEJava 8,支持Java 12Maven 3.3+
                      2.2.0.RELEASE5.2.0.RELEASEJava 8,支持Java 13Maven 3.3+
                      2.2.1.RELEASE5.2.1.RELEASEJava 8,支持Java 13Maven 3.3+
                      2.2.2.RELEASE5.2.2.RELEASEJava 8,支持Java 13Maven 3.3+
                      2.2.3.RELEASE5.2.3.RELEASEJava 8,支持Java 13Maven 3.3+
                      2.2.4.RELEASE5.2.3.RELEASEJava 8,支持Java 13Maven 3.3+
                      2.2.5.RELEASE5.2.4.RELEASEJava 8,支持Java 13Maven 3.3+
                      2.2.6.RELEASE5.2.5.RELEASEJava 8,支持Java 13Maven 3.3+
                      2.2.7.RELEASE5.2.6.RELEASEJava 8,支持Java 14Maven 3.3+
                      2.2.8.RELEASE5.2.7.RELEASEJava 8,支持Java 14Maven 3.3+
                      2.2.9.RELEASE5.2.8.RELEASEJava 8,支持Java 14Maven 3.3+
                      2.2.10.RELEASE5.2.9.RELEASEJava 8,支持Java 14Maven 3.3+
                      2.2.11.RELEASE5.2.10.RELEASEJava 8,支持Java 15Maven 3.3+
                      2.2.12.RELEASE5.2.12.RELEASEJava 8,支持Java 15Maven 3.3+
                      2.2.13.RELEASE5.2.12.RELEASEJava 8,支持Java 15Maven 3.3+
                      2.3.0.RELEASE5.2.6.RELEASEJava 8,支持Java 14Maven 3.3+
                      2.3.1.RELEASE5.2.7.RELEASEJava 8,支持Java 14Maven 3.3+
                      2.3.2.RELEASE5.2.8.RELEASEJava 8,支持Java 14Maven 3.3+
                      2.3.3.RELEASE5.2.8.RELEASEJava 8,支持Java 14Maven 3.3+
                      2.3.4.RELEASE5.2.9.RELEASEJava 8,支持Java 14Maven 3.3+
                      2.3.5.RELEASE5.2.10.RELEASEJava 8,支持Java 15Maven 3.3+
                      2.3.6.RELEASE5.2.11.RELEASEJava 8,支持Java 15Maven 3.3+
                      2.3.7.RELEASE5.2.12.RELEASEJava 8,支持Java 15Maven 3.3+
                      2.3.8.RELEASE5.2.12.RELEASEJava 8,支持Java 15Maven 3.3+
                      2.3.9.RELEASE5.2.13.RELEASEJava 8,支持Java 15Maven 3.3+
                      2.3.10.RELEASE5.2.14.RELEASEJava 8,支持Java 15Maven 3.3+
                      2.3.11.RELEASE5.2.15.RELEASEJava 8,支持Java 15Maven 3.5+
                      2.3.12.RELEASE5.2.15.RELEASEJava 8,支持Java 15Maven 3.5+
                      2.4.05.3.1Java 8,支持Java 15Maven 3.3+
                      2.4.15.3.2Java 8,支持Java 15Maven 3.3+
                      2.4.25.3.3Java 8,支持Java 15Maven 3.3+
                      2.4.35.3.4Java 8,支持Java 15Maven 3.3+
                      2.4.45.3.5Java 8,支持Java 16Maven 3.3+
                      2.4.55.3.6Java 8,支持Java 16Maven 3.3+
                      2.4.65.3.7Java 8,支持Java 16Maven 3.5+
                      2.4.75.3.8Java 8,支持Java 16Maven 3.5+
                      2.4.85.3.8Java 8,支持Java 16Maven 3.5+
                      2.4.95.3.9Java 8,支持Java 16Maven 3.5+
                      2.4.105.3.9Java 8,支持Java 16Maven 3.5+
                      2.4.115.3.10Java 8,支持Java 16Maven 3.5+
                      2.4.125.3.12Java 8,支持Java 16Maven 3.5+
                      2.4.135.3.13Java 8,支持Java 16Maven 3.5+
                      2.5.05.3.7Java 8,支持Java 16Maven 3.5+
                      2.5.15.3.8Java 8,支持Java 16Maven 3.5+
                      2.5.25.3.8Java 8,支持Java 16Maven 3.5+
                      2.5.35.3.9Java 8,支持Java 16Maven 3.5+
                      2.5.45.3.9Java 8,支持Java 16Maven 3.5+
                      2.5.55.3.10Java 8,支持Java 17Maven 3.5+
                      2.5.65.3.12Java 8,支持Java 17Maven 3.5+
                      2.5.75.3.13Java 8,支持Java 17Maven 3.5+
                      2.5.85.3.14Java 8,支持Java 17Maven 3.5+
                      2.5.95.3.15Java 8,支持Java 17Maven 3.5+
                      2.5.105.3.16Java 8,支持Java 17Maven 3.5+
                      2.5.115.3.17Java 8,支持Java 17Maven 3.5+
                      2.5.125.3.18Java 8,支持Java 17Maven 3.5+
                      2.5.135.3.19Java 8,支持Java 17Maven 3.5+
                      2.5.145.3.20Java 8,支持Java 18Maven 3.5+
                      2.6.05.3.13Java 8,支持Java 17Maven 3.5+
                      2.6.15.3.13Java 8,支持Java 17Maven 3.5+
                      2.6.25.3.14Java 8,支持Java 17Maven 3.5+
                      2.6.35.3.15Java 8,支持Java 17Maven 3.5+
                      2.6.45.3.16Java 8,支持Java 17Maven 3.5+
                      2.6.55.3.17Java 8,支持Java 17Maven 3.5+
                      2.6.65.3.18Java 8,支持Java 17Maven 3.5+
                      2.6.75.3.19Java 8,支持Java 17Maven 3.5+
                      2.6.85.3.20Java 8,支持Java 18Maven 3.5+
                      2.6.95.3.21Java 8,支持Java 18Maven 3.5+
                      2.6.105.3.22Java 8,支持Java 18Maven 3.5+
                      2.6.115.3.22Java 8,支持Java 18Maven 3.5+
                      2.6.125.3.23Java 8,支持Java 19Maven 3.5+
                      2.6.135.3.23Java 8,支持Java 19Maven 3.5+
                      2.6.145.3.24Java 8,支持Java 19Maven 3.5+
                      2.7.05.3.20Java 8,支持Java 18Maven 3.5+
                      2.7.15.3.21Java 8,支持Java 18Maven 3.5+
                      2.7.25.3.22Java 8,支持Java 18Maven 3.5+
                      2.7.35.3.22Java 8,支持Java 18Maven 3.5+
                      2.7.45.3.23Java 8,支持Java 19Maven 3.5+
                      2.7.55.3.23Java 8,支持Java 19Maven 3.5+
                      2.7.65.3.24Java 8,支持Java 19Maven 3.5+
                      2.7.75.3.24Java 8,支持Java 19Maven 3.5+
                      2.7.85.3.25Java 8,支持Java 19Maven 3.5+
                      2.7.95.3.25Java 8,支持Java 19Maven 3.5+
                      3.0.06.0.2Java 17,支持Java 19Maven 3.5+
                      3.0.16.0.3Java 17,支持Java 19Maven 3.5+
                      3.0.26.0.4Java 17,支持Java 19Maven 3.5+
                      3.0.36.0.5Java 17,支持Java 19Maven 3.5+
                      3.0.46.0.6Java 17,支持Java 19Maven 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(2) Spring、Spring Boot 和 Spring Cloud 版本管理,在这里插入图片描述,第8张

                      如果我们想知道具体版本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(2) Spring、Spring Boot 和 Spring Cloud 版本管理,在这里插入图片描述,第9张

                      官方提示:

                      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(2) Spring、Spring Boot 和 Spring Cloud 版本管理,在这里插入图片描述,第10张

                      解决方法:

                      降低依赖版本,Spring Boot 改为使用 2.x 版本即可。

                      Spring(2) Spring、Spring Boot 和 Spring Cloud 版本管理,在这里插入图片描述,第11张

                      整理完毕,完结撒花~





                      参考地址:

                      1.类文件具有错误的版本 61.0, 应为 52.0的解决方法,https://blog.csdn.net/BHSZZY/article/details/128925740