欢迎光临
我们一直在努力

Spring Boot 2.7.18 升到 3.5.8,我踩了这些坑(附完整升级指南)

Spring Boot 2.7.18 升到 3.5.8,我踩了这些坑(附完整升级指南)

一次跨越主版本的重大升级,从 JDK 8 到 JDK 17,从 javax 到 jakarta,从 Swagger 到 Springdoc… 这篇文章记录了升级过程中的所有关键步骤和避坑指南。

为什么要升级?

Spring Boot 3.0 在 2022 年底正式发布,带来了众多新特性:

  • 最低 JDK 17 要求(享受 ZGC、Record、Switch 表达式等新特性)
  • Jakarta EE 9+ 迁移(javax → jakarta 包名变更)
  • Spring Security 6.0(更安全的默认配置)
  • 原生镜像支持(GraalVM 原生编译)

我们的项目从 2.7.18 直升 3.5.8,中间跨越了多个大版本,踩了不少坑。希望这份指南能帮到你。


一、升级前准备

版本选择

– OpenJDK 17+(最低要求,推荐 17.0.16 LTS)
– Maven 3.8.6 ~ 3.9.9
– Spring Boot 3.5.8
– Spring Cloud 2025.0.0
– Spring Cloud Alibaba 2025.0.0.0

JDK 17 安装

这里博主使用 Eclipse Temurin(原 AdoptOpenJDK):

# 下载地址
https://adoptium.net/zh-CN/temurin/releases?version=17


二、POM 文件改造

1. 父 POM 升级

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.5.8</version>
</parent>

<properties>
<spring-cloud.version>2025.0.0</spring-cloud.version>
<spring-cloud-alibaba.version>2025.0.0.0</spring-cloud-alibaba.version>
</properties>

2. 关键依赖调整

<!– 移除了的依赖 –>
<!–
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
–>

<!– 新增的依赖 –>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>

<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>


三、代码层面的重大变更

1. javax → jakarta 包名替换

这是最基础但改动最大的变更,涉及所有 Servlet、Validation 相关类。

全局搜索替换:

  • import javax.servlet. → imp
赞(0)
未经允许不得转载:171主机测评 » Spring Boot 2.7.18 升到 3.5.8,我踩了这些坑(附完整升级指南)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址