You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ IDEA启动RESTful API示例项目报错,求解决方案

解决java.lang.reflect.InaccessibleObjectException错误的步骤

问题根源

这个错误是JDK 9+模块化系统的限制导致的:项目代码(或依赖库)通过反射访问了java.base模块中java.lang包的内部成员,而JDK 22默认禁止未授权模块访问这些内部API。

解决方案

方案1:降低JDK版本(优先推荐)

该书示例项目基于旧版JDK开发,适配JDK 8或11无兼容性问题,操作步骤:

  • 打开IntelliJ的Project Structure(快捷键Ctrl+Alt+Shift+S)
  • 在Project Settings > Project中,将Project SDK切换为JDK 8或11,同步修改Project language level为对应版本(8或11)
  • 进入Modules > Sources标签页,将Language level也设置为对应版本
  • 打开Run/Debug Configurations,确保运行配置的JRE选择刚才设置的JDK版本
  • 执行mvn clean install重新编译项目后启动

方案2:保留JDK 22,添加VM参数开放模块访问

如果坚持使用JDK 22,需通过VM参数授权未命名模块访问内部API:

  • 打开IntelliJ的Run > Edit Configurations...
  • 找到对应项目的运行配置,在VM options输入框中添加:
    --add-opens java.base/java.lang=ALL-UNNAMED
    
  • 保存配置后重新启动项目

方案3:同步Maven编译配置

确保pom.xml中maven-compiler-plugin的版本与使用的JDK匹配,例如使用JDK 11时,插件配置如下:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>11</source>
                <target>11</target>
            </configuration>
        </plugin>
    </plugins>
</build>

修改后执行mvn clean install重新编译。

内容的提问来源于stack exchange,提问作者Piotrek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 09:14:59