当我尝试创建任务类型Exec时,我正在创建自己的插件。它没有运行任何命令。我收到命令行错误说明命令不正确。我已在Exec命令中显示生成的命令到命令提示符,当我运行它时它工作。代码不在gradle插件范围内。
task myrun (type: Exec) {
def cp = project.files(
project.sourceSets.main.output.classesDir,
project.sourceSets.main.resources,
project.configurations.runtime
).getAsPath()
String myCommand = "visage -cp ${cp} visage.javafx.scene.effect.EffectTest"
println "RUN COMMAND : ${myCommand}"
workingDir project.sourceSets.main.output.classesDir
// classpath project.files([project.sourceSets.main.output.classesDir,project.sourceSets.main.resources, project.configurations.runtime,])
commandLine = [myCommand]
}
有人能告诉我代码中是否有错误?
答案 0 :(得分:7)
以下是同一post of yours in the Gradle forum的答案:
commandLine
是一个列表,每个参数都成为该列表的一个单独元素:
commandLine "visage", "-cp", cp, "visage.javafx.scene.effect.EffectTest"
答案 1 :(得分:0)
另一种方法是使用类似的东西
exec clause
{
executable = "bash"
args = [ "-c", """ "command arg1 arg2... argn" """]
...
}