2010-03-04 12 views
6

मैवेन का उपयोग करके किसी भी फाइल को मेरे वेब सर्वर पर कॉपी करने का तरीका ढूंढ रहा हूं। मेरे पास एक मेवेन प्रोजेक्ट है जिसमें एचटीएमएल, जेएस, गुण और कॉन्फ़िगरेशन फाइलों का सेट शामिल है।कलाकृतियों को अनपैक करने और संसाधनों को फ़िल्टर करने के लिए कैसे?

मैं अपनी सामग्री पैक करना और भंडार में तैनाती करना चाहता हूं। उसके बाद एक और मैवेन प्रोजेक्ट में मैं आर्टिफैक्ट से फ़ाइलों को अनपैक करना चाहता हूं, संसाधनों को फ़िल्टर करना और सर्वर पर निर्दिष्ट फ़ोल्डर्स पर कॉपी करना चाहता हूं।

ऐसा करने का सबसे अच्छा तरीका क्या है?

मेवेन-निर्भरता-प्लगइन आर्टिफैक्ट को अनपैक कर सकता है लेकिन मुझे नहीं मिला कि इस मामले में संसाधन फ़िल्टरिंग का उपयोग कैसे करें और कई आउटपुट निर्देशिकाओं को कैसे निर्दिष्ट करें।

उत्तर

1

मैं maven assembly plugin का उपयोग करके आवश्यकतानुसार कई वितरण बनाएगा और असेंबली समय पर filteringका उपयोग करें। फिर आप इन असेंबली को एक भंडार में तैनात कर सकते हैं और, वास्तव में, किसी दिए गए मशीन से किसी असेंबली को पुनर्प्राप्त करने और अनपैक करने के लिए मेवेन निर्भरता प्लगइन का उपयोग कर सकते हैं। सोनाटाइप की पुस्तक के Chapter 8. Maven Assemblies में असेंबली पर अधिक।

अद्यतन: एक वैकल्पिक यदि आप तैनात करने के लिए नहीं करना चाहती "फ़िल्टर किए गए" विधानसभाओं (के रूप में सुझाव अभी भी प्रोफाइल और छानने का प्रयोग करके) लक्षित मशीन से विधानसभा बनाने के लिए किया जाएगा। बनाए गए वितरण में दाएं फ़ोल्डरों में सही सामग्री होगी (आप इसे असेंबली के साथ कर सकते हैं) और आपको अंतिम चरण के लिए संग्रह को डिकंप्रेस करना होगा।

+0

मुझे लगता है कि भंडारित फ़िल्टर किए गए कलाकृतियों में स्टोर करना एक अच्छा विचार नहीं है। फ़िल्टरिंग पर्यावरण विशिष्ट चीज है। – eugenn

+0

@eugenn "फ़िल्टर" कलाकृतियों या पर्यावरण विशिष्ट कलाकृतियों को संग्रहित करने में समस्या क्या है? यह वास्तव में बहुत कुछ होता है, खासतौर से उन वितरणों के साथ जो प्लेटफॉर्म विशिष्ट हो सकते हैं (यह एक छोटा सा उदाहरण है लेकिन एक .zip या a .tar.gz विभिन्न अंत-रेखा रेखा का उपयोग कर सकता है)। वैसे भी फ़िल्टर किए गए कलाकृतियों बेकार हैं। –

+0

उदाहरण के लिए मेरे पास ऐप को तैनात करने के लिए दर्जन वातावरण हैं। अगर मैं इमारत के समय किसी भी कलाकृतियों के लिए फ़िल्टरिंग लागू करता हूं तो रेपो दर्जनों विभिन्न कलाकृतियों को तैनात करने की आवश्यकता होती है। या मैं रेपो में एक "unfiltered" संस्करण (कच्चा) रख सकता हूं और फ़िल्टरिंग का उपयोग कर सकता हूं तो मैं केवल एक अंतिम ऐप तैयार करता हूं। मैं एक परियोजना में "unfilterd" आर्टिफैक्ट उत्पन्न करने में सक्षम होना चाहता हूं (यह ठीक है) और उत्पादन, दूसरी परियोजना में अंतिम आवेदन को अनुकूलित करें। दूसरी परियोजना को प्लेसहोल्डर को कलाकृतियों से हटा देना चाहिए जो पहली परियोजना में उत्पन्न हुए थे। – eugenn

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