答案 0 :(得分:8)
正如问题文本所述,Copy
任务会覆盖文件,目前不支持其他策略。如果在您的情况下这不合适,您可以随时回退到Ant任务。
答案 1 :(得分:3)
查看DuplicatesStrategy http://www.gradle.org/docs/1.7-rc-1/release-notes#duplicate-file-handling-for-copy-and-archive-operations和http://www.gradle.org/docs/current/javadoc/org/gradle/api/file/DuplicatesStrategy.html。两者都适用于非覆盖复制(默认情况下覆盖复制)。
duplicatesStrategy 'exclude'
同时检查Gradle Zip DuplicatesStrategy not working correctly是否存在嵌套“from”的错误。
答案 2 :(得分:2)
当我使用任务复制时,我遇到同样的问题,gradle始终执行最新检查,导致复制被跳过。
在阅读了gradle用户手册的更多内容之后,我发现我们可以使用project.copy()方法而不是任务复制。此方法跳过最新检查,因此文件将始终复制到目标。
task myCopy << {
copy {
from (yourSourceDir)
into (yourDestDir)
}
}