2012-04-03 41 views
26

Tôi đang thêm một nhiệm vụ để triển khai các tệp chiến dịch vào Tomcat .. điều duy nhất mà tác vụ cần làm là sao chép tệp chiến tranh vào vị trí TOMCAT.Cách thông thường để sao chép tệp trong Gradle - sử dụng Sao chép tác vụ hoặc phương pháp sao chép?

Có 2 cách mà tôi có thể nghĩ đến việc triển khai thực hiện điều này .. nhưng mới làm quen, tôi không hoàn toàn chắc chắn điều gì là thông thường/phải (hoặc thậm chí nếu nó quan trọng).

task myCopy(type: Copy) 

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

hoặc

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

} 

Trả lời

33

Trong hầu hết các trường hợp (trong đó có một này), nhiệm vụ Copy là sự lựa chọn tốt hơn. Trong số những thứ khác, nó sẽ cung cấp cho bạn kiểm tra tự động cập nhật. Phương thức copy có nghĩa là cho các tình huống mà (vì một lý do nào đó) bạn phải chuyển sang một tác vụ hiện có và không thể sử dụng một nhiệm vụ riêng để sao chép.

Mã này cho nhiệm vụ Copy của bạn có thể được đơn giản hóa để:

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

Cảm ơn ... Tôi hiểu những lợi thế của tự động kiểm tra up-to-date, những lợi thế khác là gì? – vicsz

+1

Phong cách tốt hơn (một tác vụ nên làm một việc và phải rõ ràng về nó), cấu hình tốt hơn (ví dụ: từ tập lệnh xây dựng gốc và/hoặc sử dụng quy tắc cấu hình). –

+0

Vì lý do nào đó tác vụ này không chạy theo mặc định. –

Các vấn đề liên quan