SpringBoot、SpringCloud、SpringCloudAlibaba的版本选择

框架版本

SpringCloud对应的SpringBoot版本信息来源

https://start.spring.io/actuator/info

访问该链接返回JSON格式字符串,其中包括其他插件与Springboot的版本关系

{
	"git": {
		"branch": "2586ee535f0c71dd9df4a1cadd111e8d28065105",
		"commit": {
			"id": "2586ee5",
			"time": "2023-08-22T13:08:57Z"
		}
	},
	"build": {
		"version": "0.0.1-SNAPSHOT",
		"artifact": "start-site",
		"versions": {
			"spring-boot": "3.1.2",
			"initializr": "0.20.1-SNAPSHOT"
		},
		"name": "start.spring.io website",
		"time": "2023-08-22T13:11:24.250Z",
		"group": "io.spring.start"
	},
	"bom-ranges": {
		"codecentric-spring-boot-admin": {
			"2.6.8": "Spring Boot >=2.6.0 and <2.7.0-M1",
			"2.7.4": "Spring Boot >=2.7.0-M1 and <3.0.0-M1",
			"3.0.4": "Spring Boot >=3.0.0-M1 and <3.1.0-M1",
			"3.1.5": "Spring Boot >=3.1.0-M1 and <3.2.0-M1"
		},
		"hilla": {
			"2.1.4": "Spring Boot >=3.1.0-M1 and <3.2.0-M1"
		},
		"sentry": {
			"6.28.0": "Spring Boot >=2.7.0 and <3.2.0-M1"
		},
		"solace-spring-boot": {
			"1.2.2": "Spring Boot >=2.6.0 and <3.0.0-M1",
			"2.0.0": "Spring Boot >=3.0.0-M1"
		},
		"solace-spring-cloud": {
			"2.3.2": "Spring Boot >=2.6.0 and <3.0.0-M1",
			"3.0.0": "Spring Boot >=3.0.0-M1"
		},
		"spring-cloud": {
			"2021.0.8": "Spring Boot >=2.6.0 and <3.0.0",
			"2022.0.4": "Spring Boot >=3.0.0 and <3.2.0-M1",
			"2023.0.0-M1": "Spring Boot >=3.2.0-M1 and <3.2.0-SNAPSHOT",
			"2023.0.0-SNAPSHOT": "Spring Boot >=3.2.0-SNAPSHOT"
		},
		"spring-cloud-azure": {
			"4.10.0": "Spring Boot >=2.6.0 and <3.0.0-M1",
			"5.4.0": "Spring Boot >=3.0.0-M1 and <3.2.0-M1"
		},
		"spring-cloud-gcp": {
			"3.6.3": "Spring Boot >=2.6.0 and <3.0.0-M1",
			"4.7.2": "Spring Boot >=3.0.0-M1 and <3.2.0-M1"
		},
		"spring-cloud-services": {
			"3.4.0": "Spring Boot >=2.6.0 and <2.7.0-M1",
			"3.5.0": "Spring Boot >=2.7.0-M1 and <3.0.0-M1",
			"4.0.3": "Spring Boot >=3.0.0 and <3.2.0-M1"
		},
		"spring-modulith": {
			"1.0.0": "Spring Boot >=3.1.0 and <3.2.0-M1"
		},
		"spring-shell": {
			"2.1.12": "Spring Boot >=2.7.0 and <3.0.0-M1",
			"3.0.7": "Spring Boot >=3.0.0 and <3.1.0-M1",
			"3.1.3": "Spring Boot >=3.1.0 and <3.2.0-M1",
			"3.2.0-M1": "Spring Boot >=3.2.0-M1"
		},
		"vaadin": {
			"23.2.15": "Spring Boot >=2.6.0 and <2.7.0-M1",
			"23.3.21": "Spring Boot >=2.7.0-M1 and <3.0.0-M1",
			"24.0.13": "Spring Boot >=3.0.0-M1 and <3.1.0-M1",
			"24.1.6": "Spring Boot >=3.1.0-M1 and <3.2.0-M1"
		},
		"wavefront": {
			"2.2.2": "Spring Boot >=2.6.0 and <2.7.0-M1",
			"2.3.4": "Spring Boot >=2.7.0-M1 and <3.0.0-M1",
			"3.0.1": "Spring Boot >=3.0.0-M1 and <3.1.0-M1"
		}
	},
	"dependency-ranges": {
		"okta": {
			"2.1.6": "Spring Boot >=2.6.0 and <3.0.0-M1",
			"3.0.5": "Spring Boot >=3.0.0-M1 and <3.2.0-M1"
		},
		"mybatis": {
			"2.2.2": "Spring Boot >=2.6.0 and <2.7.0-M1",
			"2.3.1": "Spring Boot >=2.7.0-M1 and <3.0.0-M1",
			"3.0.2": "Spring Boot >=3.0.0-M1"
		},
		"pulsar": {
			"0.2.0": "Spring Boot >=3.0.0 and <3.2.0-M1"
		},
		"pulsar-reactive": {
			"0.2.0": "Spring Boot >=3.0.0 and <3.2.0-M1"
		},
		"camel": {
			"3.14.9": "Spring Boot >=2.6.0 and <2.7.0-M1",
			"3.20.6": "Spring Boot >=2.7.0.M1 and <3.0.0-M1",
			"4.0.0": "Spring Boot >=3.0.0-M1 and <3.2.0-M1"
		},
		"picocli": {
			"4.7.4": "Spring Boot >=2.6.0 and <3.1.0-M1"
		}
	}
}

其中可以看到

“spring-cloud”: {
“2021.0.8”: “Spring Boot >=2.6.0 and < 3.0.0”,
“2022.0.4”: “Spring Boot >=3.0.0 and < 3.2.0-M1”,
“2023.0.0-M1”: “Spring Boot >=3.2.0-M1 and < 3.2.0-SNAPSHOT”,
“2023.0.0-SNAPSHOT”: “Spring Boot >=3.2.0-SNAPSHOT”
}

SpringCloudAlibaba的版本关系

https://gitcode.net/mirrors/alibaba/spring-cloud-alibaba/-/blob/2022.x/README-zh.md

2022.x 分支对应的是 Spring Cloud 2022 与 Spring Boot 3.0.x,最低支持 JDK 17。

2021.x 分支对应的是 Spring Cloud 2021 与 Spring Boot 2.6.x,最低支持 JDK 1.8。

2020.0 分支对应的是 Spring Cloud 2020 与 Spring Boot 2.4.x,最低支持 JDK 1.8。

2.2.x 分支对应的是 Spring Cloud Hoxton 与 Spring Boot 2.2.x,最低支持 JDK 1.8。

greenwich 分支对应的是 Spring Cloud Greenwich 与 Spring Boot 2.1.x,最低支持 JDK 1.8。

finchley 分支对应的是 Spring Cloud Finchley 与 Spring Boot 2.0.x,最低支持 JDK 1.8。

1.x 分支对应的是 Spring Cloud Edgware 与 Spring Boot 1.x,最低支持 JDK 1.7。

框架版本之间的兼容关系

SpringBoot SpringCloud SpringCloudAlibaba JDK
Spring Boot >=3.2.0-SNAPSHOT 2023.0.0-SNAPSHOT 2022.x 17+
Spring Boot >=3.2.0-M1 and < 3.2.0-SNAPSHOT 2023.0.0-M1 2022.x 17+
Spring Boot >=3.0.0 and < 3.2.0-M1 2022.0.4 2022.x 17+
Spring Boot >=2.6.0 and < 3.0.0 2021.0.8 2021.x 8+
Spring Boot >=2.4.0 M1 and < 2.6.0 M1 2020.0.5 2020.0 8+
Spring Boot >=2.2.0.RELEASE and <2.4.0 M1 Hoxton.SR12 2.2.x 8+

网上推荐使用的版本搭配

https://docs.spring.io/spring-cloud/docs/2021.0.8/reference/html/

https://blog.csdn.net/qq_18432653/article/details/109612235

SpringBoot SpringCloud SpringCloudAlibaba JDK
3.0.0 2022.0.0 2022.0.0 17+
2.6.15 2021.0.8 2021.x 8+
2.6.13 2021.0.4 2021.0.4 8+
2.5.x 2020.0.x 2.2.x 8+
2.4.x 2020.0.x 2020.0 8+

SpringBoot官网目前推荐的版本

3.1.3 CURRENT GA Reference Doc. Api Doc.
3.2.0-SNAPSHOTSNAPSHOT Reference Doc. Api Doc.
3.2.0-M2PRE Reference Doc. Api Doc.
3.1.4-SNAPSHOTSNAPSHOT Reference Doc. Api Doc.
3.0.11-SNAPSHOTSNAPSHOT Reference Doc. Api Doc.
3.0.10GA Reference Doc. Api Doc.
2.7.16-SNAPSHOTSNAPSHOT Reference Doc. Api Doc.
2.7.15GA Reference Doc. Api Doc.

SpringBoot3.1.3

System Requirements

Spring Boot 3.1.3 需要 Java 17,并且与 Java 20 兼容并包括 Java 20。Spring Framework 6.0.11 或更高版本也是必需的。

为以下生成工具提供了显式生成支持:

Build Tool Version
Maven 3.6.3 or later
Gradle 7.x (7.5 or later) and 8.x

Servlet Containers

Spring Boot 支持以下嵌入式 servlet 容器:

Name Servlet Version
Tomcat 10.1 6.0
Jetty 11.0 5.0
Undertow 2.3 6.0

Spring Boot 3.2.*

System Requirements

Spring Boot 3.2.0-SNAPSHOT 需要 Java 17,并且与 Java 20 兼容。还需要 Spring Framework 6.1.0-M4 或更高版本。

Spring Boot 3.2.0-M2 需要 Java 17,并且兼容 Java 20(包括 Java 20)。还需要 Spring Framework 6.1.0-M4 或更高版本。

为以下生成工具提供了显式生成支持:

Build Tool Version
Maven 3.6.3 or later
Gradle 7.x (7.5 or later) and 8.x

Servlet Containers

Spring Boot 支持以下嵌入式 servlet 容器:

Name Servlet Version
Tomcat 10.1 6.0
Jetty 11.0 5.0
Undertow 2.3 6.0

您还可以将 Spring Boot 应用程序部署到任何兼容 servlet 5.0+ 的容器中。

Spring Boot 3.1.4-SNAPSHOT

System Requirements

Spring Boot 3.1.4-SNAPSHOT 需要 Java 17,并且与 Java 20 兼容。还需要 Spring Framework 6.0.11 或更高版本。

为以下生成工具提供了显式生成支持:

Build Tool Version
Maven 3.6.3 or later
Gradle 7.x (7.5 or later) and 8.x

Servlet Containers

Spring Boot 支持以下嵌入式 servlet 容器:

Name Servlet Version
Tomcat 10.1 6.0
Jetty 11.0 5.0
Undertow 2.3 6.0

您还可以将 Spring Boot 应用程序部署到任何兼容 servlet 5.0+ 的容器中。

Spring Boot 3.0.*

System Requirements

Spring Boot 3.0.11-SNAPSHOT 需要 Java 17,并且与 Java 20 兼容。Spring Framework 6.0.11 或更高版本也是必需的。

Spring Boot 3.0.10 需要 Java 17,并且与 Java 20 兼容。Spring Framework 6.0.11 或更高版本也是必需的。

为以下生成工具提供了显式生成支持:

Build Tool Version
Maven 3.5+
Gradle 7.x (7.5 or later) and 8.x

Servlet Containers

Spring Boot 支持以下嵌入式 servlet 容器:

Name Servlet Version
Tomcat 10.1 6.0
Jetty 11.0 5.0
Undertow 2.3 6.0

您还可以将 Spring Boot 应用程序部署到任何兼容 servlet 5.0+ 的容器中。

Spring Boot 2.7.*

https://docs.spring.io/spring-boot/docs/2.7.15/reference/html/getting-started.html#getting-started

System Requirements

Spring Boot 2.7.16-SNAPSHOT 需要 Java 8,并且与 Java 20 兼容。还需要 Spring Framework 5.3.29 或更高版本。

Spring Boot 2.7.15 需要 Java 8,并且与 Java 20 兼容。还需要 Spring Framework 5.3.29 或更高版本。

为以下生成工具提供了显式生成支持:

Build Tool Version
Maven 3.5+
Gradle 6.8.x, 6.9.x, 7.x, and 8.x

Servlet Containers

Spring Boot 支持以下嵌入式 servlet 容器:

Name Servlet Version
Tomcat 9.0 4.0
Jetty 9.4 3.1
Jetty 10.0 4.0
Undertow 2.0 4.0

还可以将 Spring Boot 应用程序部署到任何与 Servlet 3.1 或 4.0 兼容的容器中。

你可能感兴趣的:(SpringBoot、SpringCloud、SpringCloudAlibaba的版本选择)