如何为一个Gradle任务/项目更改JVM选项?

4
我有一组Gradle工程和子工程。我想要为其中一个单独的子工程更改JVM参数,因为它是一组需要大量内存的单元测试,所以在执行该目标时,我想要将'-Xms2g -Xmx4g'添加到VM选项中。
有没有办法实现这个目的?文档中提供的唯一特定方法是在环境变量中设置_JAVA_OPTIONS或在gradle.properties脚本中设置org.gradle.jvmargs="-Xms2g -Xmx4g",但这两种方法都会导致所有目标使用这些选项。
我对Gradle比较陌生,因此希望你能给我指出涵盖每个任务属性的具体文档。
2个回答

5

是的,任何实现了JavaForkOptions的任务都可以完成此操作。

test {
    minHeapSize = '2g'
    maxHeapSize = '4g'
}

我需要在一个子模块中使用不同的时区来运行单元测试。所以我进行了如下更新:test{ jvmArgs '-Duser.country=US -Duser.language=en -Duser.timezone="Asia/Colombo"' } 但是仍然没有得到我更改后的结果。有什么想法吗? - YAS_Bangamuwage

1
如果您只想为特定子项目更改时区,像这样设置可以解决问题。
test{
    systemProperty "user.country", "US"
    systemProperty "user.language", "en"
    systemProperty "user.timezone", "Asia/Colombo"

    useTestNG() {
        suites "src/test/resources/testng.xml"
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接