Gradle任务已损坏-无法执行

时间:2019-12-19 03:34:17

标签: gradle

import org.apache.tools.ant.filters.ReplaceTokens
task genScript(type:Copy){
    copy{
        from "../../scripts/script.txt"
        into projectDir
        filter ReplaceTokens, tokens: [baseName: jar.baseName, version: jar.version, prefix: 'x']
    }
}

jar.doLast{
    tasks.genScript.execute()
}
如果我单击

genScript并运行,它将运行良好。但是当我做..\gradlew clean jar时,它给了我以下错误:

  

在类型为org.gradle.api.tasks.Copy的任务':myModule:genScript'上找不到参数[]的方法execute()。

如何解决?

我正在使用Gradle 6.0.1。

1 个答案:

答案 0 :(得分:0)

您无法以编程方式从较新版本的Gradle中执行其他任务中的任务。相反,您应该声明任务依赖性,并且Gradle将确保它们以正确的顺序执行。

快速解决方案只是使jar取决于您的任务,如下所示:

jar.dependsOn('genScript')

或者,您可以将逻辑移到doLast任务的jar块中。