2010-06-22 7 views
8

आज, मैं मेवेन मल्टी-मॉड्यूल और ईएआर परियोजनाओं को देख रहा हूं और वे काफी समान प्रतीत होते हैं कि दोनों अन्य परियोजनाओं के संग्रह की असेंबली को परिभाषित करने लगते हैं - ऐसा लगता है कि एक ईएआर प्रोजेक्ट की तरह लगता है कि यह एक वैकल्पिक पैकेजिंग होना चाहिए एक बहु-मॉड्यूल परियोजना के लिए।क्या मेवेन मल्टी-मॉड्यूल और ईएआर अच्छी तरह से खेलते हैं?

क्या मैंने कुछ गलत समझा है? या इस तरह के प्रोजेक्ट एक साथ काम करते हैं?


पास्कल जवाब के बाद: प्रश्न को स्पष्ट करने के लिए अपडेट किया गया, उम्मीद है कि मदद मिलेगी अगर यह समझने में आसान नहीं है, खेद है कि यह शायद बहुत अच्छा नहीं है, कान सामान मेरे लिए बहुत नया है ...

तो कहें कि मेरे पास दो परियोजनाएं हैं, एक युद्ध का उत्पादन करता है और दूसरा उपयोगिता जार है। युद्ध जार पर निर्भर करता है और मुझे तैनाती के लिए उन्हें कान में पैकेज करने की आवश्यकता है। क्या मुझे एक पोम पैकेजिंग प्रकार के साथ एक परियोजना का उपयोग करना चाहिए? मुझे लगता है कि मुझे अंतिम आर्टिफैक्ट का उत्पादन करने के लिए कहीं भी एक कान पैकेजिंग प्रकार के साथ एक परियोजना का उपयोग करना है, तो क्या मैं कान पैकेजिंग के साथ केवल एक परियोजना का उपयोग कर रहा हूं, या दोनों पोम और कान के साथ परियोजनाओं का उपयोग कर रहा हूं? अगर दोनों, कैसे?

+0

मैंने एक समान प्रश्न पूछा (http://stackoverflow.com/questions/2821077/maven-all-or-parent-project-for-aggregation)। मुद्दा यह है कि यह हमेशा स्पष्ट नहीं होता है कि आपको एक पैकेजिंग प्रोजेक्ट का उपयोग करना चाहिए जो प्रोजेक्ट पर प्रोजेक्ट या बहु-मॉड्यूल पर निर्भर करता है। उदाहरण के लिए पैकेजिंग स्रोत-कोड के लिए बहु-मॉड्यूल की आवश्यकता होती है, लेकिन आपकी निर्भरताओं के लिए पैकेजिंग स्रोत कोड का कोई (आसान) तरीका नहीं है। ईएआर परियोजनाओं को दूसरे दृष्टिकोण का पालन करना चाहिए - मल्टी-मॉड्यूल नहीं बल्कि बिल्ड में प्रोजेक्ट के आधार पर निर्माण में अंतिम परियोजना। –

उत्तर

0

क्या मैंने कुछ गलत समझा है? या इस तरह के प्रोजेक्ट एक साथ काम करते हैं?

मुझे यकीन है कि मैं सवाल समझ में आ नहीं कर रहा हूँ, लेकिन मैं जवाब देने के लिए है कि वे एक साथ काम कर रहा हूँ परीक्षा:

  • को समेकित करना मॉड्यूल के लिए, ठीक है, कुल मॉड्यूल और वे एक pom पैकेजिंग होना चाहिए (अनुमति देते हैं और केवल pom मॉड्यूल में नेस्टेड परियोजनाएं हो सकती हैं)।
  • एक ईएआर मॉड्यूल सिर्फ ear पैकेजिंग के साथ एक मॉड्यूल है (और इसमें विशिष्ट bindings है) और यह बहु-मॉड्यूल प्रोजेक्ट का हिस्सा हो सकता है।

दोनों के पास अलग-अलग उद्देश्य हैं। लेकिन वे एक साथ काम करते हैं।

2

ईएआर परियोजनाएं एक बड़ी समेकित परियोजना के हिस्से के रूप में ठीक काम करती हैं। उन मामलों में जब आप ईएआर को एक अलग परियोजना नहीं करना चाहते हैं; आप हमेशा एक असेंबली के माध्यम से फ़ाइल बना सकते हैं।

यह दृष्टिकोण कुछ मामलों में समझ में आता है। आम तौर पर जहां आपको ईएआर के कई संस्करण बनाना पड़ता है या जब आप एक बड़ी ईएआर फ़ाइल तैनात करना चाहते हैं लेकिन उसे एक बार बनाए गए आर्टिफैक्ट को रखने की आवश्यकता नहीं है।

मैंने कॉर्पोरेट दृष्टिकोण से निपटने के लिए इस दृष्टिकोण का उपयोग किया है जिसके लिए सभी तैनाती ईएआर फाइल होने की आवश्यकता है, भले ही ऐप एक ही WAR फ़ाइल हो। एक असेंबली ईएआर को अपनी एकल WAR फ़ाइल और तैनाती वर्णनकर्ताओं के साथ बना सकती है।

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