项目需要,springboot需要升级到最新版本。
前提
原来的运行环境为JDK8,需要升级为JDK17
1.不兼容升级,IDEA直接全局替换
javax.servlet ===> jakarta.servlet
javax.validation ===> jakarta.validation
javax.annotation.Resource ===> jakarta.annotation.Resource
javax.mail ===> jakarta.mail
2.LegacyCookieProcessor被删除替换
LegacyCookieProcessor ===> Rfc6265CookieProcessor
注:换成Rfc6265CookieProcessor后,setCookie时domain不能用.开头
3.加密算法抛出异常问题
AES/GCM/PKCS5Padding ===> AES/GCM/NoPadding
切换JDK17后,代码中使用如下方式初始化Cipher时,会抛出异常:NoSuchAlgorithmException,将填充模式改成NoPadding即可
Cipher cipher = Cipher.getInstance("AES/GCM/PKCS5Padding")
4.用到的一些jar包升级适配
grpc版本升级
grpc-spring-boot-starter.version 2.12.0.RELEASE===>3.0.0.RELEASE
protobuf-java-util 3.25.3===>1.58.0
<dependency>
<groupId>net.devh</groupId>
<artifactId>grpc-spring-boot-starter</artifactId>
<version>${grpc-spring-boot-starter.version}</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java-util</artifactId>
<version>${protocol.buffer.version}</version>
<exclusions>
<exclusion>
<artifactId>error_prone_annotations</artifactId>
<groupId>com.google.errorprone</groupId>
</exclusion>
</exclusions>
</dependency>
shardingsphere5.4.1版本适配
适配的demo项目下载地址
shardingsphere 4.1.1===>5.4.1
旧版本:

本文详细描述了如何将SpringBoot项目从JDK8升级到JDK17,包括依赖包的迁移、API更改、Cookie处理器更新、加密算法调整、库版本升级、Redisson配置、尾部斜杠匹配规则以及模块化问题解决方案,还提到了异步方法返回值类型的限制。
最低0.47元/天 解锁文章
1874





