[英]How do I set JVM options for GradleWorkerMain?
當我設置GRADLE_OPTS
或JAVA_OPTS
時,這些是在我為我的項目運行./gradlew build
時為GradleWrapperMain
設置的。 但我也需要為GradleWorkerMain
設置它們。
我怎么做?
這是 Gradle 作業在 Bamboo 中運行時的ps
清單。 GradleWorkerMain 中缺少我的JAVA_OPTS
(例如GradleWorkerMain
-Dcool.opt=1
)。
53854 ? Sl 2:13 /home/apps/jdk7/bin/java -Dorg.gradle.daemon=false -Dcool.opt=1 -Xms1g -Xmx8g -XX:PermSize=256m -XX:MaxPermSize=768m -Djava.security.egd=file:/dev/./urandom -Dorg.gradle.appname=gradlew -classpath /path/to/gradle/wrapper/gradle-wrapper.jar org.gradle.wrapper.GradleWrapperMain build
54272 ? Sl 0:19 /home/apps/jdk1.7.0_45/bin/java -Dfile.encoding=ISO-8859-1 -cp /path/to/lots/of/jars.jar org.gradle.process.internal.launcher.GradleWorkerMain
沒有直接的方法為GradleWorkerMain
進程設置JVM選項。 派生新員工的大多數(但不是全部)任務類型都實現了JavaForkOptions
,因此您可以嘗試:
tasks.withType(JavaForkOptions) {
systemProperty "cool.opt", "1"
jvmArgs "someArg"
}
不實現JavaForkOptions
任務類型通常允許以其他方式設置fork選項。 例如:
tasks.withType(JavaCompile) {
options.fork = true // otherwise won't fork
options.forkOptions.jvmArgs = ["-Dcool.opt=1"]
}
我見過的一個類似問題是使用gradle scala插件。 我需要添加下面的配置來控制Xmx。
tasks.withType(ScalaCompile) {
configure(scalaCompileOptions.forkOptions) {
memoryMaximumSize = '1g'
}
}
您可以通過以下方式控制它:
test {
maxHeapSize = "4g"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.