当前位置: 代码迷 >> 综合 >> IDEA 导入Gradle项目报:Expiring Daemon because JVM heap space is exhausted 或 GC overhead limit exceeded
  详细解决方案

IDEA 导入Gradle项目报:Expiring Daemon because JVM heap space is exhausted 或 GC overhead limit exceeded

热度:100   发布时间:2023-12-03 13:51:36.0

随着项目越来越庞大,今天项目导入到 IDEA  中的时候报了内存错误。JVM 堆区不够的错误忘截图了,只截了一个 GC 的:

网上大部分的解决方案(包括Stack Overflow里边)都是让在工程目录下的 gradle.properties 中添加如下配置:

 

org.gradle.daemon=true
org.gradle.configureondemand=true
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

 

如果采用这个方案成功了,那就不用往下看了。

 


 

我按照这个改了,一直还是不管用,后续我又升级gradle到6.7,idea升级到了2020.2.3版本(IDEA很早就配置了jvm参数,不配的话会很卡,如果还有没配置idea的jvm的,建议配置一下,如下图),还是不行。。。

 

折腾了半天都郁闷了。。。因为其他同事那采用了第一种方案之后都顺利解决了。。。。我一度怀疑是不是我电脑硬件不行啊。。。(2333333333333)

 


 

最后经过同事提醒:去网上查查 gradle 还有别的地方可以配置jvm吗,于是上网查了一下,果然发现了新大陆,在 GRADLE_USER_HOME (对 gradle 比较熟悉的哥们应该都知道这个概念,它是gradle存放本地缓存的,windows下它的默认路径是

C:\Users\xxxxxxxxxx\.gradle,也可以自己指定,后边会说) 目录下有一个 gradle.properties 文件,可以配置jvm参数。

 

 

注释是修改之前的配置,后边我增加了方案1中的配置(直接从上边复制吧,不重复写了),最后试了一下,果然可以了!

 

 


 

总结,为啥我这必须采用方案2,同事们采用了方案1就可以了,突然反应了过来,我在 系统变量IDEA 中都指定了 GRADLE_USER_HOME   ,并且我在IDEA中指定了使用本地 Gradle。

 

 

 

估计就是上述原因造成的,我也懒得去验证了,不说了搬砖去了。。。。

 

  相关解决方案