根据 Java 执行 allJvmArgs属性 javadoc,allJvmArgs 是
List<String> allJvmArgs
The full set of arguments to use to launch the JVM for the process. This includes arguments to define system properties, the minimum/maximum heap size, and the bootstrap classpath.
我尝试使用此属性失败。以下是我的尝试。
示例 Java 代码。 //src/main/java/com/examples
package com.examples;
public class AllJvmArgumentsInJavaExecBug {
public static void main(String[] args) {
System.out.println("Hello From Java");
}
}
// File: build.gradle
apply plugin: 'java'
task(runJavaExecNormal, dependsOn: 'classes', type: JavaExec) {
main = 'com.examples.AllJvmArgumentsInJavaExecBug'
classpath = sourceSets.main.runtimeClasspath
}
task(runJavaExecArgumentSetExample1, dependsOn: 'classes', type: JavaExec) {
main = 'com.examples.AllJvmArgumentsInJavaExecBug'
classpath = sourceSets.main.runtimeClasspath
allJvmArgs = [ '-Xms10240m', '-Xmx20280m']
}
task(runJavaExecArgumentSetExample2, dependsOn: 'classes', type: JavaExec) {
main = 'com.examples.AllJvmArgumentsInJavaExecBug'
classpath = sourceSets.main.runtimeClasspath
List<String> argumentList = new ArrayList<String>();
argumentList.add('-Xms10240m')
argumentList.add('-Xmx20280m')
allJvmArgs = argumentList
}
我收到以下错误。
P:\github\gradleJavaExecAllJvmArgs>gradle
FAILURE: Build failed with an exception.
* Where:
Build file 'P:\github\gradleJavaExecAllJvmArgs\build.gradle' line: 14
* What went wrong:
A problem occurred evaluating root project 'gradleJavaExecAllJvmArgs'.
> java.lang.UnsupportedOperationException (no error message)
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 3.733 secs
我无法使用此属性。 我可以按照 question 中的指示使用 maxHeapSize = "2g". 我想用它来设置最小堆大小。
以下是github project重现了这种情况。
最佳答案
org.gradle.process.internal.JavaExecHandleBuilder
的源代码包含:
public void setAllJvmArgs(Iterable<?> arguments) {
throw new UnsupportedOperationException();
}
您应该能够使用 jvmArgs
而不是 allJvmArgs
。
关于java - Gradle JavaExec 任务,如何使用 allJvmArgs 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26525690/