java - मेवेन या आइवी? पहले से ही उत्पादन में एक प्रणाली के साथ कौन सा बेहतर है? और अन्य मतभेद?




maven ant development-environment ivy (2)

मुझे पता है कि यह एक जटिल सवाल है, लेकिन मैं यह जानना चाहता हूं कि एक प्रणाली के मामले में कौन सा बेहतर है जो कि पहले से ही उत्पादन में है, बहुत सारी बग और वास्तव में खराब डिजाइन के साथ। वास्तव में गड़बड़

असल में, मैं यह पूछ रहा हूं क्योंकि मैं पहले से ही इस परियोजना को मेवेन में परिवर्तित कर रहा हूं और मुझे बहुत सारी समस्याओं का सामना करना पड़ रहा है। मुझे फ़ोल्डर संरचना को समायोजित करने की आवश्यकता थी, परियोजना से कंपनी में किए गए एक भयानक ढांचे को अलग किया गया था (इसे एक जार लिब में परिवर्तित किया गया था), हर समय परियोजना को तोड़ने वाले बहुत सारे विवरण ठीक करें, सबकुछ बनाने के लिए POM.xml को कॉन्फ़िगर करें कि चींटी पहले से ही कर रही थी और उन libs को खोजती है जो वास्तव में एप्लिकेशन में उनके संस्करणों के रूप में उपयोग की जाती हैं (libs का एक बड़ा हिस्सा संस्करण संख्या के बिना बदल दिया गया था और मैनिफेस्ट फ़ाइल खाली थी)।

खैर, यह वास्तव में नरक था। मैं इस काम के दौरान पागल हो गया और सवाल जो हर समय मेरे पीछे था "और अगर मैं इसे आइवी में परिवर्तित कर रहा था? आसान होगा?"।

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

तो वहां मेरे प्रश्न हैं:

  • जेनकींस / हडसन के साथ एकीकरण : आइवी के साथ मेवेन के साथ इतना आसान है?
  • सोनार प्लगइन : ऊपर वही सवाल। एकीकरण यह आसान है?
  • ग्रहण के लिए प्लगइन : यह मेवेन का एक बहुत ही कमजोर बिंदु है। प्लगइन भयानक है, लेकिन मैं आइवी लोगों को नहीं जानता।
  • प्रक्रिया को तैनात करें : एक बार यह सब कुछ कॉन्फ़िगर किया गया है, प्रोजेक्ट को तैनात और प्रकाशित करें मैवेन के साथ यह बेहद आसान है। और आइवी के साथ?
  • रूपांतरण : ठीक है, एक परियोजना को मेवेन में बदलने में मेरा अनुभव भयानक था, लेकिन सिस्टम ने मदद नहीं की। मेरे पास यह विकल्प था कि मैवेन नई परियोजनाओं के लिए आश्चर्यजनक है, मेवेन के साथ काम करने वाली परियोजनाएं बनाई गई थीं, लेकिन यदि आपके पास बड़ी और असंगठित परियोजना है तो अच्छा विकल्प नहीं है। क्या मै गलत हु?
  • प्लगइन्स : यह POM.xml में कॉन्फ़िगर करने के लिए प्लगइन का एक बहुत है। क्या आइवी के लिए बहुत सारे विकल्प हैं?
  • लोकप्रियता : कौन सा लोकप्रिय है? कौन सा उपयोग किया जाता है और क्यों?

अच्छा, यह यह है। आपका बहुत बहुत धन्यवाद!


Answers

सबसे पहले, आइवी वेबसाइट से आइवी / मेवेन तुलना पढ़ें। मुख्य जानकारी:

सबसे पहले, सबसे महत्वपूर्ण अंतर यह है कि वे एक ही तरह के औजारों पर नहीं हैं। अपाचे मेवेन एक सॉफ्टवेयर प्रोजेक्ट मैनेजमेंट और समझ उपकरण है, जबकि अपाचे आईवी केवल एक निर्भरता प्रबंधन उपकरण है, जो अत्यधिक निर्माण प्रबंधन उपकरण, अपाचे एंटी ™ के साथ अत्यधिक एकीकृत है। तो हो सकता है कि एक और दिलचस्प तुलना Apache Ant + Ivy vs Apache Maven की तुलना करेगी। लेकिन यह इस पृष्ठ के दायरे से बाहर चला जाता है जो केवल निर्भरता प्रबंधन पर केंद्रित है।

आइवी चींटी पर निर्भरता प्रबंधन कार्यक्षमता जोड़ता है, इसलिए वास्तव में, आपके द्वारा उपयोग की जाने वाली निर्माण प्रणाली के संदर्भ में प्रश्न या तो है:

  • आइवी / चींटी का प्रयोग करें
  • मेवेन में माइग्रेट करें

यदि आपका निर्माण पहले से ही चींटी का उपयोग कर रहा है, तो आइवी एक आसान संक्रमण होगा क्योंकि आपकी बिल्ड स्क्रिप्ट को एक अलग निर्माण प्रणाली पर पोर्ट करने की आवश्यकता नहीं है।

यदि आप मेवेन में संक्रमण का निर्णय लेते हैं तो इसे और अधिक प्रयास की आवश्यकता होगी, क्योंकि आपको अपनी बिल्ड स्क्रिप्ट को फिर से लिखना होगा और सब कुछ मैवेनाइज करना होगा और साथ ही साथ अपने निर्भरता प्रबंधन को कॉन्फ़िगर करना होगा।

यदि आप कभी भी उस दिशा में जाने का फैसला करते हैं तो आइवी / चींटी से मेवेन तक अपनी निर्भरता प्रबंधन कॉन्फ़िगरेशन को बंद करना भी आसान होगा। तो आइवी निर्भरता प्रबंधन एक मेवेन कॉन्फ़िगरेशन जाने के लिए लंबी अवधि में एक अच्छा कदम पत्थर होगा।


एक नई परियोजना बनाना वास्तव में एक समाधान है।

निर्भरता उलटा दूसरा संभावित समाधान है।

विश्वकोश निर्भरता सिद्धांत के लिए here देखें।

और here निर्भरता उलटा सिद्धांत के लिए।







java maven ant development-environment ivy