为什么可以';我不能直接使用Gradles Exec任务启动java吗?

为什么可以';我不能直接使用Gradles Exec任务启动java吗?,java,gradle,build.gradle,Java,Gradle,Build.gradle,我想使用Exec任务()从gradle构建脚本启动java 直接使用命令java-version不起作用 task runApp(type:Exec) { commandLine 'java -version' } 将命令复制到名为script.sh的文件时,将执行该命令 task runApp(type:Exec) { commandLine './script.sh' } 但是为什么呢?commandLine'java-version'难道不应该也起作用吗?文档页面上的所有示例都

我想使用Exec任务()从gradle构建脚本启动java

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

task runApp(type:Exec) {
  commandLine 'java -version'
}
将命令复制到名为
script.sh
的文件时,将执行该命令

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

但是为什么呢?
commandLine'java-version'
难道不应该也起作用吗?

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

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

尝试将参数拆分为单独的字符串,如:
commandLine'java','-version'
您还应该查看JavaExec以从gradle运行java:@RaGe:看起来确实是空格,。。。请写一个答案,这样我就可以接受,。。。