पैकेज निर्भरता का पता लगाना वास्तव में उतना कठिन नहीं है। आप शायद ही कभी भी करते हैं। शायद प्रोजेक्ट सेटअप के दौरान एक बार और उन्नयन के दौरान कुछ और। मावेन के साथ आप बेमेल निर्भरता को ठीक कर लेंगे, बुरी तरह से लिखे गए पॉम, और वैसे भी पैकेज बहिष्करण करेंगे।
नहीं है कि मुश्किल ... खिलौना परियोजनाओं के लिए। लेकिन जिन परियोजनाओं पर मैं काम करता हूं, उनमें से कई, वास्तव में कई हैं, और मुझे उनके लिए एक मानकीकृत नामकरण योजना प्राप्त करने के लिए, मुझे उन्हें सकारत्मक रूप से प्राप्त करने में बहुत खुशी है। हाथ से यह सब मैन्युअल रूप से प्रबंधित करना एक बुरा सपना होगा।
और हां, कभी-कभी आपको निर्भरता के अभिसरण पर काम करना पड़ता है। लेकिन इसके बारे में दो बार सोचें, यह मावेन के लिए अंतर्निहित नहीं है, यह निर्भरता का उपयोग करके किसी भी प्रणाली के लिए अंतर्निहित है (और मैं यहां सामान्य रूप से जावा निर्भरता के बारे में बात कर रहा हूं)।
चींटी के साथ, आपको एक ही काम करना होगा सिवाय इसके कि आपको मैन्युअल रूप से सब कुछ करना होगा: प्रोजेक्ट ए के कुछ संस्करण और उसकी निर्भरता को हथियाना, प्रोजेक्ट बी के कुछ संस्करण और उसकी निर्भरता को हथियाना, अपने आप को पता लगाना कि वे कौन से सटीक संस्करणों का उपयोग करते हैं, जाँच कर रहे हैं वे ओवरलैप नहीं करते हैं, यह जाँचते हुए कि वे असंगत नहीं हैं, आदि नरक में आपका स्वागत है।
दूसरी ओर, मावेन निर्भरता प्रबंधन का समर्थन करते हैं और उन्हें मेरे लिए सकारत्मक रूप से पुनः प्राप्त करेंगे और मुझे टूलिंग प्रदान करते हैं जो मुझे निर्भरता प्रबंधन में निहित जटिलता का प्रबंधन करने की आवश्यकता है : मैं एक निर्भरता पेड़ का विश्लेषण कर सकता हूं, पारगमन निर्भरता में उपयोग किए गए संस्करणों को नियंत्रित कर सकता हूं, कुछ को बाहर कर सकता हूं। उन्हें यदि आवश्यक हो,, मॉड्यूल भर में एकाग्र को नियंत्रित आदि कोई जादू नहीं है। लेकिन कम से कम आपके पास समर्थन है।
और यह मत भूलो कि निर्भरता प्रबंधन मावेन की पेशकश का केवल एक छोटा सा हिस्सा है, और भी बहुत कुछ है (मावेन, जैसे सोनार के साथ अच्छी तरह से एकीकृत होने वाले अन्य साधनों का उल्लेख नहीं है )।
धीमे FIX-COMPILE-DEPLOY-DEBUG चक्र, जो उत्पादकता को मारता है। यह मेरी मुख्य पकड़ है। आप एक बदलाव करते हैं, आपको मावेन बिल्ड को किक करने के लिए इंतजार करना होगा और इसे तैनात करने के लिए इंतजार करना होगा। कोई भी गर्म तैनाती नहीं।
पहला, आप मावेन को इस तरह क्यों इस्तेमाल करते हैं? मैं नही। मैं परीक्षण, कोड लिखने के लिए अपनी आईडीई का उपयोग करता हूं, जब तक वे पास नहीं होते, रिफ्लेक्टर, तैनाती, गर्म तैनाती और एक स्थानीय मावेन निर्माण चलाते हैं जब मैं किया जाता हूं, तो प्रतिबद्ध होने से पहले, यह सुनिश्चित करने के लिए कि मैं निरंतर निर्माण को नहीं तोड़ूंगा।
दूसरा, मुझे यकीन नहीं है कि चींटी के इस्तेमाल से चीजें बेहतर होंगी। और मेरे अनुभव के लिए, मॉड्यूलर मावेन द्विआधारी निर्भरता का उपयोग करके बनाता है मुझे विशिष्ट अखंड एंट बिल्ड की तुलना में तेजी से निर्माण समय देता है। वैसे भी, मावेन शैल का उपयोग करने के लिए तैयार (पुनः) मावेन पर्यावरण का उपयोग करें (जो कि जिस तरह से कमाल है)।
तो अंत में, और मुझे यह कहते हुए खेद है, यह वास्तव में मावेन नहीं है जो आपकी उत्पादकता को मार रहा है, यह आप अपने उपकरणों का दुरुपयोग कर रहे हैं। और अगर आप इससे खुश नहीं हैं, तो मैं क्या कह सकता हूं, इसका इस्तेमाल न करें। निजी तौर पर, मैं 2003 से मावेन का उपयोग कर रहा हूं और मैंने कभी पीछे मुड़कर नहीं देखा।