मैंने अपने आवेदन की बिल्ड परियोजनाओं में कई आईवी फाइलें देखी हैं। आइवी क्या है, और चींटी के साथ इसका रिश्ता क्या है?आईवी क्या है? और यह चींटी से कैसे संबंधित है?
उत्तर
Ivy, विकास की प्रक्रिया के दौरान बाहरी पुस्तकालयों के प्रबंध, तो आप उन्हें अपने classpath को जोड़ने, उन्हें अपने आवेदन का निर्माण में bundling का एक तरीका देने के लिए एक चींटी विस्तार है आदि
वहाँ क्या Maven करता है के साथ कुछ ओवरलैप है, लेकिन आइवी बहुत हल्का है (और ज्यादा नहीं करता है)।
आइवी नहीं Maven चींटी कार्य के साथ प्रतिस्पर्धा (http://maven.apache.org/ant-tasks/index.html) लेकिन निश्चित रूप से साथ Maven। –
निष्पक्ष होने के लिए, मैंने यह नहीं कहा कि यह इसके साथ प्रतिस्पर्धा कर रहा है, मैंने कहा कि इसके साथ ओवरलैप था। – skaffman
खैर, आइवी मेवेन निर्भरता हैंडलिंग तंत्र का एक अंटा बंदरगाह है, निश्चित रूप से एक प्रकार का "ओवरलैप" है। लेकिन फिर भी, आप उनकी तुलना नहीं कर सकते हैं। –
Ivy एक निर्भरता प्रबंधक है - यह आपकी परियोजना पर निर्भर करता है कि जेएआर फाइलों का प्रबंधन और नियंत्रण करता है। यदि आपके पास JAR नहीं है, तो यह डिफ़ॉल्ट रूप से pull them down for you (मेवेन 2 रिपोजिटरी से) होगा, जो प्रोजेक्ट सेटअप को बहुत आसान बना सकता है।
सिवाय इसके कि अधिकांश रिमोट आईवी/मेवेन रिपोज़ बहुत ही कमजोर और अपूर्ण हैं। – skaffman
@sffffman तथ्य कृपया? –
@ पास्कल - मेरा अनुभव @ स्काफमैन के दावे के साथ संरेखित है। उदाहरण के लिए, जब मैंने मेवेन का उपयोग करना शुरू किया, तो मुझे जे 2 ईई एपीआई जेएआरएस के "दाएं" संस्करणों को खोजने में बहुत कठिनाई हुई, और मैंने ओएएएकैट खोजने की कोशिश छोड़ दी। मैंने बुरी निर्भरताओं के साथ समस्याओं में भी भाग लिया है जिनके लिए कामकाज को "बहिष्कृत" करने की आवश्यकता है। हालांकि, मेरे लिए मेवेन-शैली निर्भरताओं के लाभ इन समस्याओं से अधिक हैं। –
आइवी मूल रूप से एक Jayasoft.fr product जो उस समय BSD लाइसेंस के तहत किया गया है, हालांकि आइवी के मूल हमेशा एक ही कर दिया गया है: यह एक निर्भरता प्रबंधन उपकरण है।
चींटी के साथ आइवी का संबंध यह है कि यह एंट एक्सटेंशन है कि यह चींटी के माध्यम से है, हालांकि यह वास्तव में इस पर निर्भर नहीं है (स्पष्ट भागों से परे)। आइवी को एपैच प्रोजेक्ट में 11 अक्टूबर, 2007 को ऊष्मायन प्रक्रिया के माध्यम से उपप्रोजेक्ट के रूप में विलय कर दिया गया था।
लोगों की बहुत आम गलतफहमी यह है कि वे पूरी तरह से मैवे के साथ आइवी की तुलना करते हैं। हालांकि यह वास्तव में काम नहीं करता है क्योंकि आइवी केवल आक्रामक तरीके से निर्भरता को संभालती है और चींटी कॉन्फ़िगरेशन और एंटी के माध्यम से विभिन्न बिल्ड सिस्टम आदि के साथ व्यापक स्वचालित समर्थन के साथ बहुत अच्छी है, जबकि मैवेन वास्तव में एक बिल्ड सिस्टम है। व्यक्तिगत राय अलग-अलग हो सकती हैं और अलग-अलग होती हैं जिसमें कोई सबसे अच्छा करता है और यह कई स्टैक ओवरफ्लो/Google की खोजों के लायक है।
मेरा मानना है कि इन महत्वपूर्ण और उपयोगी अंक जोड़ने के लिए कर रहे हैं:
- आइवी चींटी बिना कमांड लाइन से स्टैंडअलोन इस्तेमाल किया जा सकता। यदि आपके सीआई पर्यावरण में चींटी शामिल नहीं है तो यह आपको आइवी का उपयोग करने से रोक नहीं पाएगी। हां, चींटी के साथ एकीकरण अच्छा है और, अब तक, बेहतर दस्तावेज। हालांकि स्टैंडअलोन उपयोग के लिए चींटी एकीकरण दस्तावेज लागू हो सकता है।
- आईवी सिर्फ जावा के लिए नहीं है। मेरी टीम ने काफी बड़े .NET प्रोजेक्ट के लिए निर्भरताओं को परिभाषित करने के लिए सफलतापूर्वक इसका उपयोग किया है (कई तृतीय पक्ष अपस्ट्रीम निर्भरताओं के साथ उत्पादन में प्रत्येक के कई संस्करणों के साथ 10 परस्पर निर्भर पैकेज)। बहुत अच्छी तरह से काम करता है। मेरी इच्छा है कि दस्तावेज़ीकरण थोड़ा स्पष्ट और पूर्ण हो।
- बिल्डिंग समय के लिए आइवी ऑफ़र अतिरिक्त सुविधाएं हैं: अपस्ट्रीम और डाउनस्ट्रीम ट्रिगरिंग बनाता है।
http://ant.apache.org/ivy/features.html – Bozho