3

当我尝试创建任务类型 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]
}

谁能告诉我代码中是否有任何错误?

4

2 回答 2

7

以下是您在 Gradle 论坛中的同一帖子的答案:

commandLine是一个列表,每个参数都成为该列表的一个单独元素:

commandLine "visage", "-cp", cp, "visage.javafx.scene.effect.EffectTest"
于 2012-07-17T11:42:59.147 回答
0

另一种方法是使用这样的东西

exec clause
{
executable = "bash"
args = [ "-c", """ "command arg1 arg2... argn" """]
...
}
于 2016-04-20T16:16:52.963 回答