Gradle 渐变复制文件任务在生成中不工作

Gradle 渐变复制文件任务在生成中不工作,gradle,Gradle,我是gradle的新手,我想将gradlew build生成的jar文件复制到另一个目录 task myCopyTask(type: Copy) { from "build/libs/gs.jar" into "D:/bin/gs" } 我将上述任务添加到build.gradle中,它属于生成gs.jar的gs模块 问题是命令gradlew build不会进行复制,并且该任务确实执行了(我在myCopyTask中添加了println)。但是,命令gradlew myCopyTa

我是gradle的新手,我想将
gradlew build生成的jar文件复制到另一个目录

task myCopyTask(type: Copy) {
    from "build/libs/gs.jar"
    into "D:/bin/gs"
}
我将上述任务添加到build.gradle中,它属于生成gs.jar的gs模块

问题是命令
gradlew build
不会进行复制,并且该任务确实执行了(我在myCopyTask中添加了println)。但是,命令
gradlew myCopyTask
起作用

首先,我认为复制任务可能运行得太早,所以我将其更改为

task myCopyTask(type: Copy) {
    doLast {
        from "build/libs/gs.jar"
        into "D:/bin/gs"
    }
}
即使是通过
gradlew myCopyTask
也不起作用。只有第一个版本可以通过命令
gradlew myCopyTask
工作,终端将显示:1可操作任务:1已执行


有什么问题吗?

您尚未将任务连接到Gradle的,因此当前只有在执行
gradlew myCopyTask

你可能会这样做

apply plugin: 'base' // adds build and assemble lifecycle tasks
task myJarTask(type:Jar) {...} 
task myCopyTask(type: Copy) {
    dependsOn myJarTask
    ... 
} 
assemble.dependsOn myCopyTask

请参见

不要将任务配置(这就是为什么您看到正在运行println)与任务执行混淆。要执行该任务,必须在命令行中指定它,或将其作为依赖项添加到另一个正在运行的任务中。