从GitHub导入的Spring Boot项目启动失败,报InaccessibleObjectException
问题修复方案
核心问题是你使用的Spring Boot 1.5.4版本仅支持Java 8,而当前运行环境是Java 9或更高版本。Java 9引入的模块化系统限制了反射访问,导致Spring依赖的CGLIB无法正常生成代理类,从而引发加载配置类的异常。
以下是具体修复步骤:
降级Java版本到8(最直接方案)
- 下载并安装Java 8 JDK
- 在Spring Tool中配置项目JDK:
- 右键项目 → Properties → Java Build Path → Libraries → 移除当前JDK,添加Java 8 JDK
- 切换到Java Compiler标签页,将Compiler compliance level设置为1.8
- 打开Run Configurations,找到项目启动配置,在JRE选项卡选择Java 8
临时绕过模块化限制(应急方案)
如果暂时无法降级Java,可在VM参数中添加以下内容,允许反射访问:--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED添加方式:Run Configurations → 项目启动配置 → Arguments → VM arguments中填入上述参数
升级Spring Boot版本(长期推荐方案)
若想继续使用高版本Java,建议升级到Spring Boot 2.x及以上版本(支持Java 8-17):- 修改项目
pom.xml(Maven)或build.gradle(Gradle)中的Spring Boot依赖版本,比如将1.5.4.RELEASE改为2.7.15(LTS版本) - 更新所有相关Spring依赖,解决版本冲突
- 重新同步依赖,清理并重建项目
- 修改项目
内容的提问来源于stack exchange,提问作者Eya Rais
相关产品推荐
相关产品推荐

