मावेन क्यों? क्या लाभ हैं? [बन्द है]


131

चलो चींटी कहने की तुलना में मावेन का उपयोग करने के मुख्य लाभ क्या हैं? यह एक सहायक उपकरण की तुलना में अधिक झुंझलाहट लगता है। मैं सादे ग्रहण जावा EE (कोई m2eclipse), और टॉमकैट के साथ maven 2 का उपयोग करता हूं।

मावेन के समर्थकों का मानना ​​है कि

  1. मावेन आपको अपने पैकेज की निर्भरता आसानी से प्राप्त करने देता है

  2. मावेन आपको एक मानक निर्देशिका संरचना के लिए बाध्य करता है

मेरे अनुभव में

  1. पैकेज निर्भरता का पता लगाना वास्तव में उतना कठिन नहीं है। आप शायद ही कभी भी करते हैं। शायद प्रोजेक्ट सेटअप के दौरान एक बार और उन्नयन के दौरान कुछ और। मावेन के साथ आप बेमेल निर्भरता को ठीक कर लेंगे, बुरी तरह से लिखे गए पॉम, और वैसे भी पैकेज बहिष्करण करेंगे।

  2. धीमे FIX-COMPILE-DEPLOY-DEBUG चक्र, जो उत्पादकता को मारता है। यह मेरी मुख्य पकड़ है। आप एक बदलाव करते हैं, आपको मावेन बिल्ड को किक करने के लिए इंतजार करना होगा और इसे तैनात करने के लिए इंतजार करना होगा। कोई भी गर्म तैनाती नहीं।

या मैं सिर्फ गलत कर रहा हूं? कृपया मुझे सही दिशा की ओर संकेत करें, मैं सब कान हूँ।


1
मैं वास्तव में बिंदु 2 के साथ दिलचस्पी रखता हूं। क्या कोई और धीमे फिक्स-संकलन-तैनात चक्र को नोटिस करता है? या हर कोई जानता है, लेकिन इसके बारे में चुप है क्योंकि मावेन हमारे पास सबसे अच्छी / सबसे सामान्य चीज़ है। एक युद्ध / कान बनाने के लिए तैनात करना काफी खराब है, मावेन इसे बदतर बना रहा है। यह मेरी मशीन पर rougly 5 सेकंड लेता है एक मावेन परियोजना पर एक जेएसपी परिवर्तन देखने के लिए, एक विस्फोट निर्देशिका संरचना पर? 1 सेकंड से कम। मैं कई बार बचा सकता हूं, और यह केवल नवीनतम परिवर्तन को मावेन पर संकलित करता है? हर सेव एक बिल्ड को ट्रिगर करता है।
trix

शायद यह समस्या यहाँ नहीं है, लेकिन आईडीई समर्थन / प्लगइन? हालांकि, मावेन काफी समय से आसपास था, अगर हम इसे सही नहीं कर सकते हैं, तो क्या हमें कुछ और आगे बढ़ना / आविष्कार / प्रस्ताव करना चाहिए? Ivy के अलावा
trix

2
@ जेविद हालांकि सवाल का शीर्षक समान दिखता है, प्रश्न का शरीर अलग-अलग आईएमओ है और मैं इसे एक डूप के रूप में नहीं मानता हूं।
पास्कल थिवेंट


एक मिनट के लिए ऐसा लग रहा था जैसे आप NuGet के बारे में बात कर रहे थे ...
michohoover

जवाबों:


108

पैकेज निर्भरता का पता लगाना वास्तव में उतना कठिन नहीं है। आप शायद ही कभी भी करते हैं। शायद प्रोजेक्ट सेटअप के दौरान एक बार और उन्नयन के दौरान कुछ और। मावेन के साथ आप बेमेल निर्भरता को ठीक कर लेंगे, बुरी तरह से लिखे गए पॉम, और वैसे भी पैकेज बहिष्करण करेंगे।

नहीं है कि मुश्किल ... खिलौना परियोजनाओं के लिए। लेकिन जिन परियोजनाओं पर मैं काम करता हूं, उनमें से कई, वास्तव में कई हैं, और मुझे उनके लिए एक मानकीकृत नामकरण योजना प्राप्त करने के लिए, मुझे उन्हें सकारत्मक रूप से प्राप्त करने में बहुत खुशी है। हाथ से यह सब मैन्युअल रूप से प्रबंधित करना एक बुरा सपना होगा।

और हां, कभी-कभी आपको निर्भरता के अभिसरण पर काम करना पड़ता है। लेकिन इसके बारे में दो बार सोचें, यह मावेन के लिए अंतर्निहित नहीं है, यह निर्भरता का उपयोग करके किसी भी प्रणाली के लिए अंतर्निहित है (और मैं यहां सामान्य रूप से जावा निर्भरता के बारे में बात कर रहा हूं)।

चींटी के साथ, आपको एक ही काम करना होगा सिवाय इसके कि आपको मैन्युअल रूप से सब कुछ करना होगा: प्रोजेक्ट ए के कुछ संस्करण और उसकी निर्भरता को हथियाना, प्रोजेक्ट बी के कुछ संस्करण और उसकी निर्भरता को हथियाना, अपने आप को पता लगाना कि वे कौन से सटीक संस्करणों का उपयोग करते हैं, जाँच कर रहे हैं वे ओवरलैप नहीं करते हैं, यह जाँचते हुए कि वे असंगत नहीं हैं, आदि नरक में आपका स्वागत है।

दूसरी ओर, मावेन निर्भरता प्रबंधन का समर्थन करते हैं और उन्हें मेरे लिए सकारत्मक रूप से पुनः प्राप्त करेंगे और मुझे टूलिंग प्रदान करते हैं जो मुझे निर्भरता प्रबंधन में निहित जटिलता का प्रबंधन करने की आवश्यकता है : मैं एक निर्भरता पेड़ का विश्लेषण कर सकता हूं, पारगमन निर्भरता में उपयोग किए गए संस्करणों को नियंत्रित कर सकता हूं, कुछ को बाहर कर सकता हूं। उन्हें यदि आवश्यक हो,, मॉड्यूल भर में एकाग्र को नियंत्रित आदि कोई जादू नहीं है। लेकिन कम से कम आपके पास समर्थन है।

और यह मत भूलो कि निर्भरता प्रबंधन मावेन की पेशकश का केवल एक छोटा सा हिस्सा है, और भी बहुत कुछ है (मावेन, जैसे सोनार के साथ अच्छी तरह से एकीकृत होने वाले अन्य साधनों का उल्लेख नहीं है )।

धीमे FIX-COMPILE-DEPLOY-DEBUG चक्र, जो उत्पादकता को मारता है। यह मेरी मुख्य पकड़ है। आप एक बदलाव करते हैं, आपको मावेन बिल्ड को किक करने के लिए इंतजार करना होगा और इसे तैनात करने के लिए इंतजार करना होगा। कोई भी गर्म तैनाती नहीं।

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

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

तो अंत में, और मुझे यह कहते हुए खेद है, यह वास्तव में मावेन नहीं है जो आपकी उत्पादकता को मार रहा है, यह आप अपने उपकरणों का दुरुपयोग कर रहे हैं। और अगर आप इससे खुश नहीं हैं, तो मैं क्या कह सकता हूं, इसका इस्तेमाल न करें। निजी तौर पर, मैं 2003 से मावेन का उपयोग कर रहा हूं और मैंने कभी पीछे मुड़कर नहीं देखा।


@ पास्कल, क्या आप बता सकते हैं कि आप किन उपकरणों का उपयोग कर रहे हैं? आईडीई, प्लगइन्स, आदि क्या आप हमें बता रहे हैं कि अगर मैं एक .properties फ़ाइल, या एक jsp फ़ाइल को बदल दूं, तो यह एक मावेन बिल्ड किए बिना गर्म तैनात किया जाएगा ? (शायद गर्म तैनाती यहां सही शब्द नहीं है)। मैं चींटी के साथ मेरा मतलब स्पष्ट नहीं था। मेरा मतलब था विकास के दौरान मानक विस्फोट निर्देशिका का उपयोग करना और रिलीज से पहले युद्ध / कान बनाने के लिए चींटी का उपयोग करना। एक धमाकेदार निर्देशिका के लिए नियम सरल हैं, src से कक्षाओं में फ़ाइलों को कॉपी / संकलित करते हैं और बाकी को नहीं छूते हैं।
त्रिकोणीय

जारी रखा ... हालांकि, मेरी परियोजनाओं में, क्या टोमैट पर तैनात किया जा रहा है, मॉड्यूल के जार हैं। अगर मैं एक .jsp को बदल देता हूं, तो मावेन को उन जार को फिर से बनाना नहीं पड़ता है?
त्रिक

4
आपको स्वीकार करना होगा, अधिकांश परियोजनाएं खिलौना परियोजनाएं हैं, उर्फ ​​सरल निर्भरताएं। वह सिर्फ आंकड़ों का कानून है।
trix

2
@ एंट्रिक्स, हॉट डेप्लॉयमेंट चींटी बनाम मावेन के बारे में: यदि आप हॉट परिनियोजन के लिए एंट बिल्ड नहीं कर रहे हैं, तो आप उसी के लिए मावेन का उपयोग क्यों कर रहे हैं? मुझे लगता है कि यदि आप उसी के लिए चींटी का उपयोग करते हैं, तो वह कम से कम उतना ही समय लेगी ... है ना?
रेड्डी

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

20

मावेन को पूर्ण परियोजना विकास उपकरण माना जा सकता है जो चींटी जैसे उपकरण का निर्माण नहीं करता है। आपको अपनी सभी समस्याओं को ठीक करने के लिए मावेन प्लगइन के साथ ग्रहण आईडीई का उपयोग करना चाहिए ।

मावेन पृष्ठ के उपयोग के लाभों से उद्धृत मावेन के कुछ फायदे यहां दिए गए हैं :

हेनिंग

  • त्वरित परियोजना सेटअप, कोई जटिल build.xml फ़ाइलें, बस एक पोम और जाओ
  • एक परियोजना में सभी डेवलपर्स केंद्रीकृत पोम के कारण एक ही जार निर्भरता का उपयोग करते हैं।
  • "मुफ्त में" एक परियोजना के लिए कई रिपोर्ट और मैट्रिक्स प्राप्त कर रहा है
  • स्रोत वितरण के आकार को कम करें, क्योंकि जार को केंद्रीय स्थान से खींचा जा सकता है

इमैनुएल वेनिस

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

जेसी मैककोनेल

  • कोड के मॉड्यूलर डिजाइन को बढ़ावा देता है। मल्टिपल परियोजनाओं को प्रबंधित करने के लिए इसे सरल बनाकर, यह डिजाइन को मुल्तानी तार्किक भागों में रखने की अनुमति देता है, पोम फ़ाइलों में निर्भरता ट्रैकिंग के उपयोग के माध्यम से इन भागों को एक साथ बुनाई।
  • कोड के मॉड्यूलर डिजाइन को लागू करता है। मॉड्यूलर कोड के लिए लिप्सवर्क का भुगतान करना आसान है, लेकिन जब कोड अलग-अलग संकलन परियोजनाओं में होता है, तो कोड के मॉड्यूल के बीच परागण संदर्भों को पार करना असंभव है जब तक कि आप विशेष रूप से अपने निर्भरता प्रबंधन में इसके लिए अनुमति नहीं देते ... कोई 'मैं नहीं हूँ' अभी इसे करें और बाद में इसे लागू करें।
  • निर्भरता प्रबंधन स्पष्ट रूप से घोषित किया गया है। निर्भरता प्रबंधन तंत्र के साथ आपको अपने जार संस्करण को खराब करने की कोशिश करनी होगी ... इस विक्रेता के जार का कौन सा संस्करण है? और इसे किसी मौजूदा प्रोजेक्ट पर सेट करने से मौजूदा मेस के शीर्ष बंद हो जाते हैं यदि यह मौजूद है तो आप चीजों को चलाने और चलाने के लिए अपनी रिपॉजिटरी में 'अज्ञात' संस्करण बनाने के लिए मजबूर होते हैं ... जो आप जानते हैं या अपने आप से झूठ बोलते हैं। ABC.jar का वास्तविक संस्करण।
  • मजबूत टाइप किए गए जीवन चक्र में एक मजबूत परिभाषित जीवनचक्र है जो एक सॉफ्टवेयर सिस्टम एक बिल्ड की दीक्षा से अंत तक जाता है ... और उपयोगकर्ताओं को अपने स्वयं के जीवन चक्र को एक साथ मिलाने के बजाय अपने सिस्टम को जीवनचक्र से मिलाने और मेल करने की अनुमति होती है। , इससे लोगों को एक प्रोजेक्ट से दूसरे प्रोजेक्ट में जाने और सॉफ्टवेयर बिल्डिंग के संदर्भ में एक ही शब्दावली का उपयोग करने की अनुमति देने का अतिरिक्त लाभ होता है

विन्सेंट मासोल

  • ग्रेटर गति: चींटी अब विरासत है और तेजी से आगे नहीं बढ़ रही है। मावेन तेजी से आगे बढ़ रहा है और मावेन (सीआई, डैशबोर्ड परियोजना, आईडीई एकीकरण, आदि) के आसपास बहुत अधिक मूल्य वाले उपकरण होने की संभावना है।

5
वोटिंग के दौरान कृपया कारण बताएं, यह गैर कहा जाता है, लेकिन स्टैकओवरफ्लो पर नैतिक नियम है।
YoK

1
संदर्भों में कुछ भी गलत नहीं है, लेकिन आपको वास्तव में यह स्पष्ट करने की आवश्यकता है कि सामग्री आपकी नहीं है।
पास्कल थिवेंट

धन्यवाद। मैं यह सुनिश्चित करूँगा कि मैं इसे केवल उल्लेख करने के अलावा और कहाँ उद्धृत करता हूँ। स्टैकओवरफ़्लो में सिर्फ 30 विषम दिन पुराने हैं और अभी भी कला सीख रहे हैं :)।
YoK

11

छोटी परियोजनाओं के लिए निर्भरता का पता लगाना कठिन नहीं है। लेकिन एक बार जब आप सैकड़ों निर्भरता वाले एक निर्भरता के पेड़ से निपटना शुरू करते हैं, तो चीजें आसानी से हाथ से निकल सकती हैं। (मैं यहां अनुभव से बोल रहा हूं ...)

दूसरा बिंदु यह है कि यदि आप वृद्धिशील संकलन और मावेन समर्थन (जैसे ग्रहण + एम 2eclipse) के साथ एक आईडीई का उपयोग करते हैं, तो आपको संपादन / संकलन / गर्म तैनाती और परीक्षण स्थापित करने में सक्षम होना चाहिए।

मैं व्यक्तिगत रूप से ऐसा नहीं करता हूं क्योंकि मैं अतीत (पूर्व मावेन) में खराब अनुभवों के कारण विकास के इस तरीके को अविश्वास के लिए आया हूं। शायद कोई टिप्पणी कर सकता है कि क्या यह वास्तव में एक्लिप्स + एम 2लिप्स के साथ काम करता है।


सभी आश्रितों को पाने के लिए मावेन के साथ शुरुआत की जा सकती है और फिर अपने प्रोजेक्ट पर निर्भरता की प्रतिलिपि बनाएँ, है ना?
त्रिक

2
मुझे लगता है आप कर सकते थे। लेकिन अगर आप अपनी परियोजना की निर्भरता को अद्यतन करते हैं तो यह तोड़ने के लिए उत्तरदायी होगा ... या यदि आपकी परियोजना स्नैपशॉट पर निर्भर करती है।
स्टीफन सी

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

4
Ughh। यही नहीं मावेन का उपयोग करने के लिए डिज़ाइन किया गया है। मावेन के बड़े लाभों में से एक संस्करण नियंत्रण में आश्रित पुस्तकालयों की जाँच से परहेज है। अपने दृष्टिकोण के साथ, आप अपने वीसीएस को बहुत सारे बाइनरी फ़ाइलों के बहुत सारे संस्करणों के साथ बंद कर देंगे। और कुछ वीसीएस बाइनरी फाइलों को संभालने में विशेष रूप से खराब हैं।
स्टीफन सी

2
आम तौर पर आप प्रोग्राम लिखते समय किसी भी तरह के जादू के बहुत थके होने का कठिन तरीका सीखते हैं: -एस
थोरबजर्न रेव एंडरसन

9

मावेन उन उपकरणों में से एक है जहां आपको वास्तव में सामने वाले को यह तय करने की आवश्यकता है कि आप इसे पसंद करते हैं और इसका उपयोग करना चाहते हैं, क्योंकि आप इसे सीखने में काफी समय बिताएंगे, और एक बार कहा गया निर्णय लेने के बाद आपको सभी प्रकारों को छोड़ने की अनुमति मिलेगी। सीखने के दौरान संदेह (क्योंकि आप इसे पसंद करते हैं और इसका उपयोग करना चाहते हैं )!

मजबूत सम्मेलन कई स्थानों पर मदद करते हैं - हडसन की तरह जो मावेन परियोजनाओं के साथ चमत्कार कर सकते हैं - लेकिन शुरू में इसे देखना मुश्किल हो सकता है।

संपादित करें: 2016 के रूप में मावेन एकमात्र जावा बिल्ड टूल है जहां सभी तीन प्रमुख आईडीई बॉक्स से बाहर के स्रोतों का उपयोग कर सकते हैं। दूसरे शब्दों में, मावेन का उपयोग आपके बिल्ड आईडीई-अज्ञेयवाद को बनाता है। यह उदाहरण के लिए अगर आप सामान्य रूप से ग्रहण में काम करते हैं, तो भी नेटबिन प्रोफाइलिंग का उपयोग करने की अनुमति देता है


1
और इसके विपरीत भी सच है, बहुत से लोग पहले से नफरत के साथ
मावेन

विलोम? तुम्हारा मतलब है?
थोर्बोजर्न रेवन एंडरसन

9

चींटी पर मावेन के फायदे काफी कम हैं। मैं उन्हें यहाँ संक्षेप में प्रस्तुत करने का प्रयास करता हूँ।

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

प्रोजेक्ट मॉड्यलाइज़ेशन
प्रोजेक्ट कन्वेंशन सुझाव देते हैं (या बेहतर, बल) डेवलपर को प्रोजेक्ट को संशोधित करने के लिए। एक अखंड परियोजना के बजाय आपको अक्सर अपनी परियोजना को छोटे उप घटकों में विभाजित करने के लिए मजबूर किया जाता है, जो इसे आसान डिबग बनाता है और समग्र परियोजना संरचना का प्रबंधन करता है।

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

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


6

मावेन अपने विकास चक्र को तेज करने के लिए मानक सम्मेलनों और प्रथाओं को नियोजित करके आपकी निर्माण प्रक्रिया के लिए लाभ प्रदान कर सकता है जबकि एक ही समय में आपको सफलता की उच्च दर प्राप्त करने में मदद करता है। अधिक विस्तृत रूप से देखें कि मावेन आपकी विकास प्रक्रिया में आपकी मदद कैसे कर सकता है कृपया मावेन के उपयोग के लाभों को देखें।


3

मावेन एक शक्तिशाली परियोजना प्रबंधन उपकरण है जो पीओएम (प्रोजेक्ट ऑब्जेक्ट मॉडल) पर आधारित है। इसका उपयोग परियोजनाओं के निर्माण, निर्भरता और प्रलेखन के लिए किया जाता है। यह ANT जैसी निर्माण प्रक्रिया को सरल करता है। लेकिन यह ANT की तुलना में बहुत अधिक उन्नत है। मावेन का प्रबंधन करने में मदद करता है- बिल्ड, डॉक्यूमेंटेशन, रीपरिंग, एससीएम, रिलीव, डिस्ट्रीब्यूशन। - मावेन रिपॉजिटरी pom.xml फ़ाइल के साथ पैकेज्ड JAR फ़ाइल की एक निर्देशिका है। मावेन रिपॉजिटरी में निर्भरता की खोज करते हैं।


2

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

यह संभव है कि आप सब कुछ एक ही मॉड्यूल में रटना करने की कोशिश कर रहे हैं, जिस स्थिति में समस्या वास्तव में बिल्कुल भी नहीं है, लेकिन जिस तरह से आप इसका उपयोग कर रहे हैं।


मैं सादे ग्रहण जी, मावेन 2 और टोमैट का उपयोग कर रहा हूं। जाहिर है एक वेब ऐप। अगर मैं एक गुण फ़ाइल, या एक jsp बदल रहा हूँ, तो tomcat पर मेरे परिवर्तनों को देखने के लिए, maven को अपना निर्माण करना होगा, युद्ध / कान बनाना होगा और tomcat पर तैनात होना होगा। यदि मैं विस्फोट निर्देशिका संरचना का उपयोग करता हूं तो यह तुलना में धीमी है।
त्रिकोणीय

1
टॉमटैट के साथ एक्लिप्स के तहत @trix हॉट तैनात सिर्फ काम करता है। आप यह गलत कर रहे है।
पास्कल थिवेंट

0

यह एक टिप्पणी होनी चाहिए थी, लेकिन यह एक टिप्पणी की लंबाई में फिट नहीं थी, इसलिए मैंने इसे एक उत्तर के रूप में पोस्ट किया।

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

मुझे मावेन का केवल मध्यवर्ती स्तर का ज्ञान है, लेकिन मैं आपको बताता हूं, मैंने मावेन का उपयोग किए बिना बड़ी परियोजनाएं (जैसे ईआरपी) की हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.