IDEA Gradle并行编译内存溢出问题

复制代码
Expiring Daemon because JVM Tenured space is exhausted
Daemon will be stopped at the end of the build after running out of JVM memory

配置优先级

配置 Gradle 行为时,可以使用这些方法,但必须考虑它们的优先级。

下表列出了这些方法,按优先级从高到低排列(第一个优先级最高)

优先级 方法 位置 备注
1 命令行 > 命令行 标志优先于属性和环境变量
2 系统属性 > 项目根目录 存储在 gradle.properties 文件中
3 Gradle 属性 > GRADLE_USER_HOME > 项目根目录 > GRADLE_HOME 存储在 gradle.properties 文件中
4 环境变量 > 环境变量 由执行 Gradle 的环境提供

https://docs.gradle.org.cn/current/userguide/build_environment.html#priority_for_configurations

全局配置解决方法:

  • 参考Gradle配置官方文档,一定要在 GRADLE_USER_HOME 下面配置 gradle.properties
  • 默认情况下GRADLE_USER_HOME和GRADLE_HOME目录是没有 gradle.properties 文件的,要手动新建一个
  • gradle.properties 写入下面这些参数,读取的顺序是 GRADLE_USER_HOME > 项目根目录 > GRADLE_HOME,高优先级的参数覆盖低优先级的,最终所有位置都会遍历一遍

#开启线程守护,第一次编译时开线程,之后就不会再开(Gradle3.0之后默认开启这个,可以不加)

org.gradle.daemon=true

#配置编译时的虚拟机大小(不需要dump可以去掉)

org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

#开启并行编译,相当于多条线程构建(全局配置,不加--parallel也会并行编译)

org.gradle.parallel=true

#启用新的孵化模式(实际上是configureondemand按需配置,不知道有什么作用)

org.gradle.configureondemand=true

相关推荐
飞鱼&3 小时前
HashMap相关问题详解
java·hashmap
没有bug.的程序员3 小时前
Spring Cloud Alibaba 生态总览
java·开发语言·spring boot·spring cloud·alibaba
快乐非自愿4 小时前
Java垃圾收集器全解:从Serial到G1的进化之旅
java·开发语言·python
树在风中摇曳4 小时前
Java 静态成员与继承封装实战:从报错到彻底吃透核心特性
java·开发语言
键来大师7 小时前
Android15 RK3588 修改默认不锁屏不休眠
android·java·framework·rk3588
Molesidy8 小时前
【VSCode】【Clangd】Win下的基于LLVM/Clangd+Clangd插件+MINGW+CMake的VSCode配置C/C++开发环境的详细教程
c++·ide·vscode·clangd·llvm
zbhbbedp282793cl8 小时前
如何在VSCode中安装Python扩展?
ide·vscode·python
合作小小程序员小小店8 小时前
web网页开发,在线%考试管理%系统,基于Idea,vscode,html,css,vue,java,maven,springboot,mysql
java·前端·系统架构·vue·intellij-idea·springboot
精装机械师8 小时前
在IntelliJ IDEA编辑器中基于Gradle编译器搭建Kotlin开发环境遇到的各种坑
kotlin·gradle·intellij-idea
天天向上10248 小时前
markdown及vscode中可以的emoji
ide·vscode·编辑器