IntelliJ执行Maven构建报Java运行环境内存不足错误如何解决
解决方案
问题核心原因
该错误本质是IntelliJ内置终端复用进程导致的native内存泄漏:多次运行Maven构建后,终端会话残留的堆外内存没有被释放,即使Maven进程本身的Xmx配置足够,IDEA主进程的native内存耗尽也会触发分配失败。
可行解决方案
- 调整IntelliJ主进程内存配置(你之前修改的是Maven子进程的堆内存,未覆盖IDEA主进程的内存限制)
打开顶部菜单Help > Edit Custom VM Options,修改/添加以下参数:
修改完成后重启IntelliJ生效。-Xms4g -Xmx6g -XX:MaxDirectMemorySize=2g - 关闭内置终端的进程复用特性
打开File > Settings > Tools > Terminal,取消勾选Shell integration,同时勾选Close session when it ends,确保每次命令执行完成后终端会话完全销毁,无内存残留。 - 改用独立Maven进程执行构建
不要用内置终端执行mvn命令,改用IDEA自带的Maven工具窗口:右侧边栏打开Maven面板,找到对应项目的Lifecycle > package,右键选择Modify Run Configuration,在VM参数栏填入你的构建参数:-Djacoco.skip=true -Dcobertura.skip=true -DskipClassConflictsReporter -DskipTests -P release,后续直接双击package运行即可,该方式启动的Maven为完全独立进程,不会占用IDEA主进程内存。 - 临时应急方案(无需重启IDEA)
每次构建完成后右键点击当前终端标签选择Close Tab,新开一个终端标签再执行下一次构建,即可规避内存残留问题。
内容的提问来源于stack exchange,提问作者JavaYouth
相关产品推荐
相关产品推荐

