【保姆级喂饭教程】2025年微服务新项目:基于jdk1.8对应的Spring Boot、Spring Cloud与Spring Cloud Alibaba各框架版本选择

前言

在搭建Spring Cloud Alibaba微服务项目架构的时候,需要选择Spring Boot和Spring Cloud进行兼容的版本号,如果版本关系不对应,可能导致项目产生未知的错误。并且Spring Boot 3.x更新后最低支持jdk17,甚至idea创建spring boot项目都选不到jdk1.8和Spring Boot 2.x了,搜索了一下目前也没有最新的版本建议,遂自己写一篇总结一下。

在这里插入图片描述
在这里插入图片描述

一、Java版本推荐

先说说为什么选择jdk1.8。
截至2025年5月,Java最新版本为2025年3月发布的Java24,它是一个非长期版本,但是那句话怎么说,你发任你发,我用Java8,哈哈。
主要是由于国内存在着大量的老旧项目,jdk的升级会导致牵一发而动全身,即使是我现在创建新项目,因为服务器上运行着大量的jdk1.8的项目以及对应的其他应用服务,新的项目如果采用比较新的jdk17,会引起很多不必要的麻烦,企业开发一定是怎么稳定怎么来,自己的个人项目可以优先使用新技术。

1. Java版本分类

Java通常分为三个主要版本:
SE(JavaSE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE
EE(JavaEE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。从2018年2月26日开始,J2EE改名为Jakarta EE
ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME

我们平常说的Java版本指的就是Java SE
Java SE的版本分为 LTS(Long-Term Support,长期支持版)Non-LTS(非长期支持版),它们的主要区别如下:

对比项LTS 版本(长期支持)Non-LTS 版本(非长期支持)
发布周期每 2 年 一次每 6 个月 发布一次
支持时长官方长期支持(8 年+)仅支持 6 个月
适用场景生产环境、企业级项目、长期维护的系统个人学习、实验性项目、尝鲜新特性
稳定性更稳定,企业级可用新特性多,但可能不稳定
安全性持续提供安全更新和 bug 修复仅在生命周期内提供短期修复
新特性主要以稳定性和性能优化为主包含最新特性,但可能在下个版本修改或移除

关于Java和jdk的版本号关系,Java9之前对应jdk版本为1.x,之后就是一一对应了
JDK版本官网
官网还可以看到2025-04-15更新了jdk1.8,版本号到了8u451
在这里插入图片描述

2. 各版本维护时间

Oracle Java SE 支持路线图
在这里插入图片描述
可以看到Java8持续支持时间到2030年,目前还不用担心

3. 各版本占比

New Relic 2024 Java 生态系统状态报告
在这里插入图片描述
如图所示,虽然到2024年,Java17占比最大,但是在企业端新的项目仍然推荐Java8,如果是新的公司或部门,新的服务器,使用Java17就是一个不错的选择。

二、spring各框架版本对应关系

浪费了一点口舌,终于要说到spring相关的框架了。

一切的起点是因为Spring Boot从3.0版本开始不再支持Java8,最低支持Java17,上一个支持的版本是2.7
Spring Boot 3.0 Release Notes

在这里插入图片描述
接下来看Spring Cloud,支持Spring Boot 2.7的最高版本是Spring Cloud 2021.0.x
https://spring.io/projects/spring-cloud
在这里插入图片描述
最后再来看看Spring Cloud Alibaba,同时支持jdk1.8、Spring Boot 2.6、Spring Cloud 2021的是2021.x分支,这里把Spring Boot 2.6升级为2.7也没问题
Spring Cloud Alibaba/README-zh.md
在这里插入图片描述
分支具体版本:GitHub/Wiki/版本说明,目前已经不更新了,阿里发布了自己的Spring Cloud Alibaba网站
例如2021.x 分支的具体版本说明:版本发布说明
在这里插入图片描述
2021.x 分支
适配 Spring Boot 2.4,Spring Cloud 2021.x 版本及以上的 Spring Cloud Alibaba 版本按从新到旧排列如下表(最新版本用*标记):

Spring Cloud Alibaba VersionSpring Cloud VersionSpring Boot Version
2021.0.6.0*Spring Cloud 2021.0.52.6.13
2021.0.5.0Spring Cloud 2021.0.52.6.13
2021.0.4.0Spring Cloud 2021.0.42.6.11
2021.0.1.0Spring Cloud 2021.0.12.6.3
2021.1Spring Cloud 2020.0.12.4.2

三、2025年版本推荐

根据上图所示,阿里官方推荐的是Spring Cloud Alibaba 2021.0.6.0 + Spring Cloud 2021.0.5 + Spring Boot 2.6.13,这个是比较稳定的,但官方并不会及时更新其他框架版本,而且都是几年前的东西了,后续各框架更新都是进行修复问题,不会有新的大变动,推荐都使用对应分支内的最新版本。

1. Spring Boot

Spring Boot的release页面因为已经过去太多了,不太好找,在tag这里看到3.0前面最新的是2.7.18
在这里插入图片描述
版本链接:https://github.com/spring-projects/spring-boot/releases/tag/v2.7.18
在这里插入图片描述
更新时间是2023-11-23,距今已经一年半了,可以算是最终版本了

2. Spring Cloud

Spring Cloud 2021.0.x分支最新版本是2021.0.9
在这里插入图片描述
版本链接:https://github.com/spring-cloud/spring-cloud-release/releases/tag/v2021.0.9
在这里插入图片描述
更新时间是2023-12-19,距今也一年半了

3. Spring Cloud Alibaba

Spring Cloud Alibaba 2021分支最新版本是2021.0.6.2
在这里插入图片描述
版本链接:https://github.com/alibaba/spring-cloud-alibaba/releases/tag/2021.0.6.2
在这里插入图片描述
更新时间是2024-12-12,只有半年,但是也只是优化了两个Nacos的功能

4. 总结

最终版本还是要去maven仓库看一眼,万一GitHub有但是maven中央仓库(https://mvnrepository.com/)没有就需要再往前一个版本
我这里是微服务项目,通过bom的方式引入各框架的版本管理,所以找每个框架后缀是dependencies的库,全都没问题,最终版本如下:
spring-boot:2.7.18
spring cloud:2021.0.9
spring cloud alibaba:2021.0.6.2

四、pom.xml文件示例

pom如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <properties>
        <!-- 版本查找网站
        https://mvnrepository.com/
        https://repo1.maven.org/maven2/
        https://github.com/
        -->

        <!-- 引入依赖管理版本-->
        <!-- spring boot最后支持jdk1.8的版本为2.7.x,从3.x开始就需要jdk17了-->
        <!-- spring cloud、spring cloud alibaba均选择支持spring boot的最新版本2021.x,目前已基本稳定-->
        <spring-boot.version>2.7.18</spring-boot.version><!-- 2023-11-23-->
        <spring-cloud.version>2021.0.9</spring-cloud.version><!-- 2023-12-19-->
        <spring-cloud-alibaba.version>2021.0.6.2</spring-cloud-alibaba.version><!-- 2024-12-02-->
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- 通过import类型为pom的模块实现maven多继承-->
            <!-- spring boot bom -->
            <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-dependencies -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- spring cloud bom -->
            <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- spring cloud alibaba bom -->
            <!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-alibaba-dependencies -->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

</project>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值