在Gradle中复制文件的常规方法-使用复制任务还是复制方法?

在Gradle中复制文件的常规方法-使用复制任务还是复制方法?,gradle,Gradle,我正在添加一项任务,将war文件部署到Tomcat。。任务需要做的唯一一件事就是将war文件复制到TOMCAT位置 我可以想出两种方法来实现这一点。。但作为gradle的新手,我不太确定什么更传统/正确(或者它是否重要) 或 在大多数情况下(包括本例),复制任务是更好的选择。除此之外,它将为您提供自动的最新检查。copy方法适用于(出于某种原因)必须附加到现有任务且无法使用单独任务进行复制的情况 复制任务的代码可以简化为: task myCopy(type: Copy) { from('

我正在添加一项任务,将war文件部署到Tomcat。。任务需要做的唯一一件事就是将war文件复制到TOMCAT位置

我可以想出两种方法来实现这一点。。但作为gradle的新手,我不太确定什么更传统/正确(或者它是否重要)

在大多数情况下(包括本例),复制任务是更好的选择。除此之外,它将为您提供自动的最新检查。
copy
方法适用于(出于某种原因)必须附加到现有任务且无法使用单独任务进行复制的情况

复制任务的代码可以简化为:

task myCopy(type: Copy) {
    from('source')
    into('target')
    include('*.war')
}

“最新”仅验证文件是否已就位,而不验证文件是否已更改 要避免使用旧文件进行缓存,请使用

    outputs.upToDateWhen { false }

谢谢我了解自动最新检查的优点,还有哪些优点?更好的样式(任务应该做一件事,并且应该明确),更好的可配置性(例如,从父构建脚本和/或使用配置规则)。出于某种原因,此任务在默认情况下不会运行。
task myCopy(type: Copy) {
    from('source')
    into('target')
    include('*.war')
}
    outputs.upToDateWhen { false }