Minecraft 1.16.4模组开发启动报错:ExceptionInInitializerError
Minecraft 1.16.4模组开发启动报错解决方案
问题根源
从控制台输出的java version 17.0.6 by Eclipse Adoptium可以明确,实际运行环境使用的是Java 17,而非你确认的Java 8。Minecraft 1.16.4对应的Forge 35.1.4仅支持Java 8,Java 9+引入的模块系统会阻止ModLauncher的反射访问,从而触发InaccessibleObjectException错误。
解决步骤
1. 修正Eclipse的JRE配置
- 打开Eclipse,依次进入
Window > Preferences > Java > Installed JREs,确认已添加Java 8(JRE或JDK),并将其设为默认选项。 - 右键你的模组项目,选择
Properties > Java Build Path > Libraries,检查JRE System Library是否为Java 8,若不是则点击Edit切换。 - 打开启动配置:右键项目
Run As > Run Configurations,找到Minecraft的启动项,切换到JRE标签页,选择Java 8的JRE。
2. 调整系统环境变量
- 确认
JAVA_HOME环境变量指向Java 8的安装目录(例如C:\Program Files\Java\jdk1.8.0_301),而非Java 17的路径。 - 检查系统
Path变量,将Java 8的bin目录(例如%JAVA_HOME%\bin)移至Java 17相关路径的上方,确保优先级更高。
3. 验证Java版本
- 在Eclipse内置终端或系统命令提示符中执行
java -version,确认输出显示为Java 8(例如java version "1.8.0_301")。
内容的提问来源于stack exchange,提问作者Fenl
相关产品推荐
相关产品推荐

