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

重启IntelliJ IDEA后Java程序无法运行 报InaccessibleObjectException错误

报错详情

重启IntelliJ IDEA后原有Java程序无法正常运行,抛出内部调用异常,完整错误信息如下:

Internal error (java.lang.reflect.InaccessibleObjectException): Unable to make protected void java.util.ResourceBundle.setParent(java.util.ResourceBundle) accessible: module java.base does not "opens java.util" to unnamed module @1b1473ab
java.lang.reflect.InaccessibleObjectException: Unable to make protected void java.util.ResourceBundle.setParent(java.util.ResourceBundle) accessible: module java.base does not "opens java.util" to unnamed module @1b1473ab
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
at com.intellij.util.ReflectionUtil.makeAccessible(ReflectionUtil.java:253)
at com.intellij.util.ReflectionUtil.getDeclaredMethod(ReflectionUtil.java:270)
at com.intellij.DynamicBundle.(DynamicBundle.java:28)
at org.jetbrains.jps.incremental.scala.InitialScalaBuilder.getPresentableName(InitialScalaBuilder.scala:26)
at org.jetbrains.jps.incremental.IncProjectBuilder.lambda$sendElapsedTimeMessages$3(IncProjectBuilder.java:451)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.concurrent.ConcurrentHashMap$EntrySpliterator.forEachRemaining(ConcurrentHashMap.java:3652)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
at org.jetbrains.jps.incremental.IncProjectBuilder.sendElapsedTimeMessages(IncProjectBuilder.java:454)
at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:425)
at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:183)
at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:132)
at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:302)
at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:132)
at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:219)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.base/java.lang.Thread.run(Thread.java:831)
错误根因

该错误由Java 9及以上版本引入的JPMS(Java平台模块系统)强封装限制导致:IDEA内部依赖的Scala编译插件通过反射调用java.util.ResourceBundle的非公开方法时,java.base模块默认未向未命名模块开放java.util包的访问权限,因此触发权限校验失败。

排查与解决步骤
  • 修改IDEA自定义VM参数
    打开IDEA顶部菜单 -> 帮助 -> 编辑自定义VM选项,在打开的.vmoptions配置文件末尾添加以下两行参数:
    --add-opens java.base/java.util=ALL-UNNAMED
    --add-opens java.base/java.lang=ALL-UNNAMED
    
    保存文件后完全关闭IDEA,再重启程序生效。
  • 处理冲突的Scala插件
    打开IDEA设置 -> 插件,找到Scala插件:
    • 如果项目未使用Scala技术栈,直接禁用该插件后重启IDEA即可
    • 如果项目需要使用Scala,将插件升级到和当前IDEA版本匹配的最新版后重试
  • 校验项目JDK配置
    打开项目结构设置 -> 项目设置 -> 项目,确认项目SDK、语言级别配置和之前运行正常时的配置一致,同时检查对应模块的SDK配置没有被意外改动。
  • 清空IDEA缓存重启
    若以上操作都无效,执行顶部菜单 -> 文件 -> 清除缓存并重启,选择清除并重启选项,清空IDEA增量构建缓存后重新编译项目即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 01:57:02