为什么我不能直接使用Gradles Exec-task启动java?

Why can't I start java directly using Gradles Exec-task?

我想使用Exec-task(https://docs.gradle.org/current/dsl/org.gradle.api.tasks.Exec.html)从gradle构建脚本启动java

直接使用命令java -version不起作用。

1
2
3
task runApp(type:Exec) {
  commandLine 'java -version'
}

将命令复制到名为script.sh的文件时,会执行该命令

1
2
3
task runApp(type:Exec) {
  commandLine './script.sh'
}

但为什么? 不应该commandLine 'java -version'也能正常工作吗?


文档页面上的所有示例都显示命令行命令分为逗号分隔的字符串,其中没有空格。 我会尝试:

1
2
3
task runApp(type:Exec) {
  commandLine 'java', '-version'
}