随着项目越来越庞大,今天项目导入到 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。
估计就是上述原因造成的,我也懒得去验证了,不说了搬砖去了。。。。