【发布时间】:2012-09-01 10:26:03
【问题描述】:
【问题讨论】:
标签: java copy gradle overwrite
【问题讨论】:
标签: java copy gradle overwrite
正如问题文本所说,Copy 任务会覆盖文件,目前不支持其他策略。如果这不适合您的情况,您可以随时退回到 Ant 任务。
【讨论】:
查看 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”s 中可能存在的错误。
【讨论】:
我在使用任务复制时遇到了同样的问题,gradle 总是执行最新的检查,这会导致复制被跳过。
阅读更多关于 gradle 用户手册的内容后,我发现我们可以使用 project.copy() 方法代替任务 Copy。此方法跳过最新检查,因此文件将始终复制到目标。
task myCopy << {
copy {
from (yourSourceDir)
into (yourDestDir)
}
}
【讨论】:
<<)。看看这个问题的公认答案:stackoverflow.com/questions/16358194/…