gpt4 book ai didi

java - Gradle:增加由 gradle run 任务启动的 java 进程的堆大小

转载 作者:行者123 更新时间:2023-12-02 01:53:46 26 4
gpt4 key购买 nike

我有一个启动 java 项目的 gradle 任务。基本上是这样的:

gradle run -PmainClass=package.path.ServiceMain

现在,我想增加 gradle 启动的 java 进程的堆,因为标准堆大小太小。问题是我只成功增加了 gradle 进程的大小,而不是 gradle 项目启动的 java 进程的大小。我在 Java 代码中使用以下命令检查堆大小:

Runtime.getRuntime().totalMemory()

我测试了这个检查,这样使用它是有效的。但它表明 gradle 始终以相同的堆大小启动我的 Java 进程。

我尝试了这些选项:

DEFAULT_JVM_OPTS='-Xmx1024m -Xms512m'
GRADLE_OPTS='-Xmx1024m -Xms512m'
JAVA_OPTS='-Xmx1024m -Xms512m'

没有成功。

我也尝试过这个:

gradle run -PmainClass=package.path.ServiceMain -DXmx1024m -DXms512m

仍然没有成功。

当然,我已经在网上搜索过,但只找到了一些提示,说我可以修改 build.gradle 文件。不幸的是,这不是我想要/能做到的。

当通过 gradle run 任务启动 java 程序时,我需要在命令行上指定 java 程序的 java 堆大小(由于实际的项目结构)。

预先感谢您的支持。如有任何帮助,我们将不胜感激。

最佳答案

正如@Opal上面所说,这是不可能

我能找到的最简单/最简单的替代方案(目前)是将这个小片段添加到 build.gradle 文件中:

tasks.withType(JavaExec) {
jvmArgs = ['-Xms512m', '-Xmx512m']
}

或者,可以使用环境变量_JAVA_OPTIONS。更好的是:环境变量JAVA_TOOL_OPTIONS;该变量的内容将用作(附加)JVM 选项。

感谢@ady的提示。

关于java - Gradle:增加由 gradle run 任务启动的 java 进程的堆大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45478302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com