升级JDK17问题记录

1. 放开标准库的模块访问限制

Jdk9模块后, 有些类访问, 需要通过如下配置打开访问权限

--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED 
--add-opens=java.base/java.lang=ALL-UNNAMED 
--add-opens=java.base/java.util=ALL-UNNAMED 
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED 
--add-opens=java.base/java.math=ALL-UNNAMED 
--add-opens=java.base/java.nio=ALL-UNNAMED

2. AppClassLoader父类不在是URLClassLoader

在这里插入图片描述

3. JDK17 String字符串内部字段变化

JDK8和JDK17两个版本的String类内部字段数量和类型有不兼容的变化,Dubbo中使用的protostuff需要对这里做特殊适配
在这里插入图片描述

4. 需要升级Springboot,

因为工程中原先使用的SpringBoot2.1版本无法解析JDK17的字节码, 启动会抛出异常, 项目中是升级后使用的是SpringBoot 2.7.11版本
SpringBoot高版本中禁止了循环依赖, 可以添加如下配置项打开, 示例中是放在Springboot的application.properties配置文件中

spring.main.allow-circular-references=true

5. 高版本SpringCloud关闭了自建ApplicationContext

SpringCloud关闭了自建Spring ApplicationContext, 可能改变一些基于SpringBoot扩展点实现的功能执行的优先级, 特别是自己业务上实现的扩展点,
实际上SpringCloud关闭自建ApplicationContext是合理的, 不然太混乱了, 实现扩展点时需要考虑很多问题.

spring.cloud.bootstrap.enabled=true  #开启SpringCloud自建ApplicationContext

6. Mybatis 版本需要升级到3.5.x以上, 3.4.x无法运行

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

7. zookeeper客户端需要升级到3.5.x以上, 3.4.x版本无法运行

在这里插入图片描述
在这里插入图片描述
zookeeper-3.5.3-beta.jar 解决该问题
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值