解决jdk17版本与seata冲突问题

问题根源

  • JDK 版本 :使用了 JDK 17,它加强了模块化封装,默认不允许反射访问 java.lang 包下的非公开成员。

  • 依赖库版本 :项目中引入了 cglib-3.1.jar(较老版本),该版本未适配 JDK 9+ 的模块化限制,导致初始化失败。

  • Seata 依赖:Seata 1.5.2 可能间接依赖了此版本的 CGLIB,触发异常。

解决方案

第一步:点击编辑配置:Edit Configuration

第二步:点击Modify options,之后选择Add VM Options选项

第三步:输入--add-opens java.base/java.lang=ALL-UNNAMED,即可解决

相关推荐
吃饱了得干活1 分钟前
缓存与数据库一致性:从理论到实战
java·后端·面试
520拼好饭被践踏8 分钟前
JAVA+Agent学习day22
java·开发语言·后端·学习
笨蛋不要掉眼泪20 分钟前
Java虚拟机:堆的参数配置
java·开发语言·jvm
霸道流氓气质22 分钟前
SpringBoot中使用JasperReports 报表引擎 — 介绍、原理与使用实践
java·spring boot·后端
花生了什么事o27 分钟前
DDD 分层架构:六层分层架构
java·架构·ddd
Y38153266230 分钟前
3 种 SERP 数据处理方案对比:流式 / 批处理 / 缓存
java·spring·缓存
qq_150841991 小时前
SQL的insert和update二合一指令
java·数据库·sql
2601_964702891 小时前
Claude Opus 5 API 开发实战:对话、文本生成与结构化输出
java·服务器·前端
Sayuanni%31 小时前
Spring IOC
java·spring·rpc
风景的人生1 小时前
流式输出与springboot中的响应式编程
java·spring boot·ai编程