如何从 gradle 构建中解决 OutOfMemory 错误?

问题描述

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "ConnnectionExpirer"

*** java.lang.instrument ASSERTION Failed ***: "!errorOutstanding" with message can't create name string at ./src/java.instrument/share/native/libinstrument/jplISAgent.c line: 827


Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "ExpirationReaper-0-Fetch"

在我的 gradle.properties 中 org.gradle.jvmargs=-Xmx8G -XX:MaxPermSize=2024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

我的 gradle 发行版是 gradle-6.4.1

我最近在我的代码中包含了许多集成测试,之后我开始看到这个错误

解决方法

我遇到了同样的问题。这是 Gradle 功能。如果您打开任务管理器,您可以看到 java 进程(Gradle 守护进程),它在每次运行测试时占用越来越多的内存。当您打开 Gradle 日志文件时,您会看到很多错误 { "name": "todolistv2","version": "1.0.0","description": "Todo-List","main": "index.js","scripts": { "test": "echo \"Error: no test specified\" && exit 1","start": "npm run build" },"keywords": [ "react","todolist_project" ],"author": "Alan A. Haro","license": "ISC","dependencies": { "react-icons": "^3.11.0" } } 。我正在阅读其他人的评论,他们写了 - 这是一个错误。 因此,如果您使用 "Connection timeout",则会有一个名为 IntelliJ IDEA 的插件和命令 "Easy Gradle"。我用这个。它会杀死 Gradle 的守护进程。

查看更多here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...