Forge 1.8.9环境下IntelliJ Hot Swap功能失效求助
解决Forge 1.8.9 IntelliJ Hot Swap失效及配置错误问题
问题根源
你套用的教程是针对Forge 1.14+版本的,而1.8.9使用的是SRG混淆映射,并非1.14+引入的intermediary映射,直接照搬配置必然导致混淆环境不匹配和依赖冲突。
修复步骤
还原错误配置
- 删掉build.gradle中按教程添加的所有与intermediary映射、obfuscation环境相关的代码,恢复到最初的Forge 1.8.9默认配置。
- 重置IntelliJ的Run/Debug配置,移除教程中添加的VM参数或其他修改项。
配置适配1.8.9的Hot Swap
- 打开IntelliJ设置:
File → Settings → Build, Execution, Deployment → Debugger → HotSwap,勾选Enable hotswap agent及下方所有子选项。 - 编辑Minecraft Client的调试配置:在
VM options中添加-XX:+AllowEnhancedClassRedefinition,这是Java 8下实现有效Hot Swap的关键参数。 - 确认build.gradle中的映射配置为SRG,示例:
版本号需与你的Forge 1.8.9版本匹配,可查看初始生成的build.gradle内容。mappings channel: 'snapshot', version: '20170624-1.8'
- 打开IntelliJ设置:
解决ASM依赖缺失问题
在build.gradle的dependencies块中添加适配的ASM依赖:compile 'org.ow2.asm:asm-tree:5.2'执行命令刷新依赖并清理缓存:
gradlew clean build --refresh-dependencies验证Hot Swap功能
以Debug模式启动游戏,修改某个方法内部的代码(如调整输出内容),按下Ctrl+F9构建项目,观察游戏内是否即时生效。若Debug控制台出现Successfully reloaded classes提示,则说明配置成功。
额外提示
避免使用过于新版本的IntelliJ(如2023+),这类版本对Java 8和旧版Forge的兼容性较差,推荐使用IntelliJ 2020.x或2021.x版本。
内容的提问来源于stack exchange,提问作者godbrigero
相关产品推荐
相关产品推荐

