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

IntelliJ报Java heap space内存溢出 调整内存配置仍无法解决

问题

问题截图
拉取仓库全新无自定义修改的源码编译时,直接抛出java.lang.OutOfMemoryError: Java heap space错误,同一份源码在其他设备上可正常编译运行,问题已持续一周。

已尝试的无效操作

  • 执行File -> Invalidate Cache清除IDE缓存
  • 通过Help -> Change Memory Setting调整IDE内存,测试过所有内存档位,当前配置值为2048
  • 进入Intellij -> Preference -> Compiler -> Shared Build Process Heap Size调整共享构建进程堆大小,测试过所有内存档位,当前配置值为6048

以上操作执行后仍会触发内存溢出错误。后续执行./gradlew build --stacktrace --info抓取日志,仍无法定位问题根因,相关日志截图如下:
日志截图1
日志截图2
日志截图3

解决方法

你之前调整的两个IDE内存配置,都不会作用于Gradle构建进程,这是配置不生效的核心原因,按以下步骤操作即可:

  • 打开项目根目录下的gradle.properties文件,新增或修改org.gradle.jvmargs配置项,调整Gradle守护进程的内存分配,参考配置:
org.gradle.jvmargs=-Xmx8192m -XX:MaxMetaspaceSize=1024m -Dfile.encoding=UTF-8

注意:IDEA里设置的Shared Build Process Heap Size仅对IDEA内置的javac编译器生效,只要项目通过Gradle接管构建流程,这个配置完全不参与构建进程的内存控制。

  • 执行./gradlew -version查看Gradle实际使用的JDK版本,和能正常运行该项目的设备JDK大版本对齐。如果本地安装的是32位JDK,内存寻址上限最高只有1.5G左右,无论怎么调内存参数都会触发OOM,必须更换为64位JDK。
  • 配置修改完成后,先执行./gradlew --stop杀掉所有残留的旧Gradle守护进程,避免旧进程沿用之前的低内存配置,再执行./gradlew clean build重新构建即可。
  • 如果上述操作仍无效,删除本地Gradle缓存目录后重新构建:
    • macOS/Linux路径:~/.gradle/caches/
    • Windows路径:C:\Users\你的用户名\.gradle\caches\
      损坏的依赖缓存文件也会在编译阶段触发无厘头的内存溢出错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 20:42:17