2012-04-03 14 views
26

मैं टॉमकैट में युद्ध फ़ाइलों को तैनात करने के लिए एक कार्य जोड़ रहा हूं .. कार्य करने की आवश्यकता केवल एक चीज है जो युद्ध फ़ाइल को टॉमकैट स्थान पर कॉपी करती है।ग्रैडल में फ़ाइलों की प्रतिलिपि बनाने का पारंपरिक तरीका - कार्य प्रतिलिपि या प्रतिलिपि विधि का उपयोग करें?

वहां 2 तरीके हैं जिन्हें मैं इसे लागू करने के बारे में सोच सकता हूं .. लेकिन धीरे-धीरे बढ़ने के लिए नया होने के नाते, मुझे पूरा यकीन नहीं है कि अधिक पारंपरिक/सही क्या है (या यदि यह भी मायने रखता है)।

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

+1

बेहतर शैली (एक कार्य को एक चीज करना चाहिए और इसके बारे में स्पष्ट होना चाहिए), बेहतर कॉन्फ़िगरेशन (जैसे माता-पिता निर्माण स्क्रिप्ट और/या कॉन्फ़िगरेशन नियम का उपयोग करना)। –

+0

किसी कारण से यह कार्य डिफ़ॉल्ट रूप से नहीं चलाया जाता है। –

संबंधित मुद्दे