在Gradle中复制文件的传统方法 - 使用复制任务或复制方法?

vic*_*csz 29 gradle

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

有两种方法可以让我想到实现这个......但是对于gradle而言,我不太确定什么是更常规/正确(或者甚至是重要的).

task myCopy(type: Copy)

    myCopy.configure {
       from('source')
       into('target')
       include('*.war')
    }
Run Code Online (Sandbox Code Playgroud)

要么

task myCopy{
  doLast{
     copy {
       from 'source'
       into 'target'
       include '*.war'
     }   
  }

}
Run Code Online (Sandbox Code Playgroud)

Pet*_*ser 39

在大多数情况下(包括这个),Copy任务是更好的选择.除此之外,它还会为您提供自动的最新检查.该copy方法适用于(由于某种原因)您必须使用现有任务并且无法使用单独任务进行复制的情况.

您的Copy任务代码可以简化为:

task myCopy(type: Copy) {
    from('source')
    into('target')
    include('*.war')
}
Run Code Online (Sandbox Code Playgroud)

  • 更好的样式(任务应该做一件事,应该明确它),更好的可配置性(例如来自父构建脚本和/或使用配置规则). (3认同)