| API文档: | JavaExec |
|---|
在子进程中执行 Java 应用程序。
与 类似Exec,但使用给定的类路径和应用程序类启动 JVM。
plugins {
id 'java'
}
task runApp(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
mainClass = 'package.Main'
// arguments to pass to the application
args 'appArg1'
}
// Using and creating an Executable Jar
jar {
manifest {
attributes('Main-Class': 'package.Main')
}
}
task runExecutableJar(type: JavaExec) {
// Executable jars can have only _one_ jar on the classpath.
classpath = files(tasks.jar)
// 'main' does not need to be specified
// arguments to pass to the application
args 'appArg1'
}
通过在调用构建时提供 `--debug-jvm` 开关,可以JavaExec.getDebug()以临时方式在调试模式下启动该进程(请参阅 参考资料)。
gradle someJavaExecTask --debug-jvm
此外,可以在以下位置显式设置调试配置JavaExec.debugOptions(org.gradle.api.Action):
task runApp(type: JavaExec) {
...
debugOptions {
enabled = true
port = 5566
server = true
suspend = false
}
}
| 财产 | 描述 |
allJvmArgs | 用于为进程启动 JVM 的完整参数集。这包括定义系统属性、最小/最大堆大小和引导类路径的参数。 |
args | 传递给要执行的主类的参数。 |
argumentProviders | 应用程序的参数提供者。 |
bootstrapClasspath | 用于进程的引导类路径。当该类路径为空时,将使用 JVM 的默认引导类路径。 |
classpath | 用于执行主类的类路径。 |
commandLine | 完整的命令行,包括可执行文件及其参数。 |
debug | 确定是否为测试进程启用调试。启用后 — |
debugOptions | 进程的 Java 调试线路协议属性。如果启用,则将 |
enableAssertions | 如果为进程启用了断言,则返回 true。 |
environment | 用于进程的环境变量。默认为该进程的环境。 |
errorOutput | 用于消耗执行命令的进程中的标准错误的输出流。默认为 |
executable | 要使用的可执行文件的名称。 |
executionResult | 此任务运行的命令的结果。如果该任务尚未执行,则提供者没有任何价值。 |
ignoreExitValue | 指示是否忽略非零退出值或引发异常。默认为 |
javaLauncher | 配置用于运行测试的 java 可执行文件。 |
jvmArgs | 用于为进程启动 JVM 的额外参数。不包括系统属性和最小/最大堆大小。 |
jvmArgumentProviders | 用于 fork 的 java 进程的命令行参数提供程序。 |
jvmArguments | 用于为进程启动 JVM 的额外 JVM 参数。必须用于设置 JVM 参数的约定。 |
mainClass | 要执行的主类的完全限定名称。 |
mainModule | 如果应用程序应作为 Java 模块运行,则要执行的主模块的名称。 |
maxHeapSize | 进程的最大堆大小(如果有)。 |
modularity | 用于执行主类的模块路径处理。 |
standardInput | 执行命令的进程的标准输入流。进程完成后流将关闭。默认为空流。 |
standardOutput | 用于使用执行命令的进程的标准输出的输出流。默认为 |
systemProperties | 将用于该进程的系统属性。 |
workingDir | 进程的工作目录。默认为项目目录。 |
| 方法 | 描述 |
args(args) | 添加要执行的主类的参数。 |
args(args) | 添加要执行的主类的参数。 |
bootstrapClasspath(classpath) | 将给定值添加到进程的引导类路径的末尾。 |
classpath(paths) | 将元素添加到类路径以执行主类。 |
copyTo(options) | 将这些选项复制到给定选项。 |
copyTo(target) | 将这些选项复制到给定的目标选项。 |
debugOptions(action) | 配置进程的 Java 调试线路协议属性。如果 |
environment(name, value) | 向此进程的环境添加环境变量。 |
environment(environmentVariables) | 为此过程的环境添加一些环境变量。 |
executable(executable) | 设置要使用的可执行文件的名称。 |
jvmArgs(arguments) | 添加一些用于启动进程的 JVM 的参数。 |
jvmArgs(arguments) | 添加一些用于启动进程的 JVM 的参数。 |
systemProperties(properties) | 添加一些用于进程的系统属性。 |
workingDir(dir) | 设置进程的工作目录。提供的参数根据 进行评估 |
确定是否为测试进程启用调试。启用后 — debug = true— 该进程以挂起状态启动,侦听端口 5005。调试时应禁用并行测试执行,如果您使用非零值,则偶尔需要重新连接调试器
Test.getForkEvery()。
从 Gradle 5.6 开始,您可以通过配置端口和其他 Java 调试属性
JavaForkOptions.debugOptions(org.gradle.api.Action)。
- 默认:
false
JavaDebugOptions debugOptions(只读)
进程的 Java 调试线路协议属性。如果启用,则将-agentlib:jdwp=...
使用参数中的配置附加到 JVM 参数。
Provider<ExecResult> executionResult
Provider<ExecResult>此任务运行的命令的结果。如果该任务尚未执行,则提供者没有任何价值。
ModularitySpec modularity(只读)
用于执行主类的模块路径处理。
JavaExecSpec args(Iterable<?>参数)
Iterable<?>添加要执行的主类的参数。
JavaExec copyTo(JavaForkOptions选项)
将这些选项复制到给定选项。
JavaExec copyTo(ProcessForkOptions目标)
将这些选项复制到给定的目标选项。
void debugOptions(行动)Action<JavaDebugOptions>
Action<JavaDebugOptions>配置进程的 Java 调试线路协议属性。如果JavaForkOptions.setDebug(boolean)启用,则将-agentlib:jdwp=...使用参数中的配置附加到 JVM 参数。
设置进程的工作目录。提供的参数根据 进行评估Project.file(java.lang.Object)。