2012-04-03 35 views
26

我正在添加一個任務以將戰爭文件部署到Tomcat ..任務需要做的唯一事情就是將戰爭文件複製到TOMCAT位置。在Gradle中複製文件的傳統方式 - 使用複製任務或複製方法?

有兩種方法,我可以考慮實施這個..但對於gradle新手,我不太確定什麼是更傳統/正確(或者如果它甚至重要)。

task myCopy(type: Copy) 

    myCopy.configure { 
     from('source') 
     into('target') 
     include('*.war') 
    } 

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

} 

回答

33

在大多數情況下(包括本),該Copy任務是更好的選擇。除此之外,它會給你自動的最新檢查。 copy方法適用於(出於某種原因)您必須鎖定到現有任務並且不能使用單獨任務進行復制的情況。

代碼爲您Copy任務可以簡化爲:

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

謝謝...我明白了自動對數據檢查的優點,有什麼其他的優勢? – vicsz 2012-04-04 17:39:13

+1

更好的風格(任務應該做一件事,並且應該是明確的),更好的可配置性(例如,從父構建腳本和/或使用配置規則)。 – 2012-04-05 03:25:55

+0

出於某種原因,此任務默認情況下不運行。 – 2016-07-29 15:38:13