在Gradle中设置JAVA_选项和JAVA_工具选项

在Gradle中设置JAVA_选项和JAVA_工具选项,gradle,build.gradle,java-opts,Gradle,Build.gradle,Java Opts,运行大型Gradle构建(使用JDK7)时,我收到两个OutOfMemoryErrors: Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "main" Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Test worker" 当我在

运行大型Gradle构建(使用JDK7)时,我收到两个
OutOfMemoryErrors

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "main"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Test worker" 
当我在下面设置两个环境变量时,构建运行正常:

export JAVA_OPTS="-Xmx2048m -XX:MaxPermSize=1024m"
export JAVA_TOOL_OPTIONS="-Xmx1024m -XX:MaxPermSize=1024m -Xms768m"
./gradlew test --stacktrace
...
Picked up JAVA_TOOL_OPTIONS: -Xmx1024m -XX:MaxPermSize=1024m -Xms768m
...
有没有办法将这些设置包括在
gradle.properties
build.gradle
中?如果是,正确的用法是什么

我已经在
build.gradle
中尝试过了:

allprojects {
    System.setProperty('JAVA_OPTS', "-Xmx2048m -XX:MaxPermSize=1024m")
    System.setProperty('JAVA_TOOL_OPTIONS', "-Xmx1024m -XX:MaxPermSize=1024m -Xms768m")
}

但这不起作用。

请尝试创建一个
gradle.properties
文件,该文件应位于root
build.gradle
旁边,并将其与以下内容一起保存:

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=1024m 
另一个选项是通过
compileJava
任务设置所需选项,请参阅和


不幸的是,不知道如何设置
JAVA\u工具\u选项,它似乎不受支持。

根据我收集的信息,gradlew打算进行调整。因此,在gradlew脚本中添加这些环境变量是可以接受的,并且该设置在所有CI环境中都可用。

您觉得我的答案有用吗?因此解决方案是
JAVA\u工具\u选项不受支持,需要在每个CI/CD环境和开发人员的机器中手动设置?@user3105453,可能是的。我相信
org.gradle.jvmargs
只会影响gradle守护程序的内存配置,而不会影响JVM。@Gi0rgi0s是的,您是正确的。它不会影响分叉的JVM