Escaping 当workingDir有空格时,将gradle与Exec任务一起使用

Escaping 当workingDir有空格时,将gradle与Exec任务一起使用,escaping,gradle,whitespace,Escaping,Gradle,Whitespace,我正在执行,并尝试创建Exec任务: task karmaTest(type:Exec) { // #1 workingDir project.projectDir; // #2 workingDir project.projectDir.canonicalPath; // #3 workingDir project.projectDir.absolutePath; // #4 workingDir project.projectDir.absolutePath.repl

我正在执行,并尝试创建Exec任务:

task karmaTest(type:Exec) {

  // #1 workingDir project.projectDir;

  // #2 workingDir project.projectDir.canonicalPath;

  // #3 workingDir project.projectDir.absolutePath;

  // #4 workingDir project.projectDir.absolutePath.replace(" ", "\\ ");
  commandLine 'karma start --singleRun true --browsers PhantomJS src/test/js/config/karma.conf.js'
}
任务真的很简单。它只需要使用karma执行javascript测试

输出#1:

原因:java.io.IOException:无法运行程序“karma start” --singleRun true——浏览器PhantomJS src/test/js/config/karma.conf.js”(在目录中 “/home/eianni/Br/Repositories Ciao/git/workflowcobrand/wfc services”):错误=2,没有此类文件或 目录

输出#2:

原因:java.io.IOException:无法运行程序“karma start” --singleRun true——浏览器PhantomJS src/test/js/config/karma.conf.js”(在目录中 “/home/eianni/Br/Repositories Ciao/git/workflowcobrand/wfc services”):错误=2,没有此类文件或 目录

输出#3:

原因:java.io.IOException:无法运行程序“karma start” --singleRun true——浏览器PhantomJS src/test/js/config/karma.conf.js”(在目录中 “/home/eianni/Br/Repositories Ciao/git/workflowcobrand/wfc services”):错误=2,没有此类文件或 目录

输出#4:

原因:java.io.IOException:无法运行程序“karma start” --singleRun true——浏览器PhantomJS src/test/js/config/karma.conf.js”(在目录中 “/home/eianni/Br/Repositories\ Ciao/git/workflowcobrand/wfc services”):错误=2,没有此类文件或 目录


正如你所看到的,我尝试了不同的方法,但我仍然得到了错误。我不认为这是空白,因为当我重命名If时,我得到了相同的错误,并且我也删除了
workingDir
(因为文档中的默认值是
project.projectDir
,但我仍然得到了错误)。

根据您链接的文档,
命令行
获取命令行参数列表,没有一个字符串包含完整的命令行。列表中的第一项被视为可执行文件。为方便起见,您可能需要保留一个字符串,并使用
tokenize()


是的,过了一段时间我就把它改正了。我不习惯这个语法,所以我认为它是一个字符串。谢谢你,伙计。
commandLine 'karma start --singleRun true --browsers PhantomJS src/test/js/config/karma.conf.js'.tokenize()