新版 IDEA Maven 控制台乱码的终极解法,别改UTF8了

新版 IDEA Maven 控制台乱码的终极解法,别改UTF8了 解决方案省流直接跳到方案二罪魁祸首新版 IDEA 改用cmd /c从 2025.2 开始IDEA 偷偷改了 Maven 的底层执行逻辑引入了maven.use.scripts机制。不再直接调用java.exe去跑 Maven而是套了一层cmd.exe /c去执行mvn.cmd脚本。这就触发了 Windows 延续了数十年的历史死结中文版 Windows 的cmd.exe默认代码页是GBK936。即使你在 Java 层下了死命令强制UTF-8外层的cmd.exe依然用 GBK 的管道去强行拦截和吞吐数据。Java 吐出的 UTF-8 字节流经过cmd.exe /c这么一折腾直接被解错成了乱码。针对这个问题目前有两种解决思路。方案一反向适配 GBK曲线救国能用但憋屈既然外层的cmd.exe换不掉那就让里面的 Maven 主动向 GBK 妥协让两边“对上暗号”。操作步骤打开 IDEA 设置File-Settings。导航到Build, Execution, Deployment-Build Tools-Maven-Runner。在右侧的VM Options输入框中删掉之前的 UTF-8 配置改填-Dfile.encodingGBK(或者-Dfile.encodingGB2312)点击Apply保存重新编译。这个方案属于反向适配。虽然控制台能正常看懂报错了但对于强迫症和追求全链路统一UTF-8的现代开发规范来说总觉得留了个尾巴。方案二彻底关闭套壳cmd推荐最规范、最优雅的解法就是逼 IDEA 吐出老版本的清爽逻辑绕过cmd.exe直接在后台抓着java.exe跑 Maven。操作步骤在 IDEA 界面连按两下Shift键打开全局搜索。在搜索框里输入Registry...内部注册表回车打开。在弹出的长列表里直接键盘打字搜索maven.use.scripts。找到这一项把后面的勾选取消掉Disable。完全重启 IDEA。再次执行编译你会发现控制台、编译器报错全部回归正常的 UTF-8 编码中文显示清清爽爽再也不用对老旧的 GBK 妥协了