"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मेवेन को व्यापक रूप से एक शक्तिशाली बिल्ड ऑटोमेशन टूल के रूप में जाना जाता है, लेकिन यह उससे कहीं अधिक है। यह एक व्यापक परियोजना प्रबंधन उपकरण है जो संपूर्ण निर्माण प्रक्रिया, निर्भरता प्रबंधन और दस्तावेज़ निर्माण को सरल बनाता है। इस पोस्ट में, हम मावेन के विभिन्न पहलुओं का पता लगाएंगे और इसकी क्षमताओं को विस्तार से समझेंगे।
मावेन की मुख्य विशेषताएं
1.बिल्ड जेनरेशन
2.निर्भरता प्रबंधन
3.दस्तावेज़ीकरण
जब आप एमवीएन बिल्ड या एमवीएन परिनियोजन जैसे कमांड निष्पादित करते हैं, तो मेवेन pom.xml फ़ाइल को देखता है, जिसमें सभी कॉन्फ़िगरेशन शामिल हैं, और तदनुसार कार्य करता है। आइए pom.xml संरचना और उसके महत्व के बारे में गहराई से जानें।
**pom.xml की फ़ाइल एक विशिष्ट XML स्कीमा (xsi:schemaLocation: में परिभाषित) का अनुसरण करती है जो यह सुनिश्चित करती है कि यह एक सही संरचना का पालन करती है, जिसे मावेन सत्यापित करता है। यहाँ एक उदाहरण है:
महत्वपूर्ण तत्व:
पैरेंट पोम:
स्प्रिंग बूट में प्रत्येक POM फ़ाइल में एक पैरेंट POM होता है। यदि कोई अभिभावक परिभाषित नहीं है, तो सुपर पीओएम अभिभावक बन जाता है।
ग्रुपआईडी, आर्टिफैक्टआईडी, और संस्करण:
ये तत्व मावेन सेंट्रल में एक परियोजना की विशिष्ट पहचान करते हैं।
com.examplemy-app1.0-SNAPSHOTjar
गुण:
कुंजी-मूल्य जोड़े को परिभाषित करें जिन्हें पूरे pom.xml में संदर्भित किया जा सकता है।
1.8
-
रिपॉजिटरी:
निर्दिष्ट करें कि निर्भरताएँ कहाँ से डाउनलोड करनी हैं, आमतौर पर मेवेन सेंट्रल से।
कॉन्फ़िगरेशन बनाएँ:
निर्माण प्रक्रिया और चरणों को परिभाषित करता है।
इसके लिए हमें मावेन के निर्माण जीवनचक्र को समझने की आवश्यकता है।
मेवेन बिल्ड जीवन चक्र
मेवेन एक विशिष्ट निर्माण जीवनचक्र का अनुसरण करता है जिसमें कई चरण होते हैं:
मान्य करें:
परियोजना संरचना को मान्य करता है।
संकलन:
जावा कोड को बाइटकोड (.क्लास फ़ाइलें) में परिवर्तित करता है और उन्हें लक्ष्य/फ़ोल्डर में रखता है।
परीक्षा:
परीक्षण/निर्देशिका में स्थित परीक्षण मामले चलाता है।
पैकेट:
संकलित बाइटकोड से JAR/WAR फ़ाइलें उत्पन्न करता है और उन्हें लक्ष्य/फ़ोल्डर में संग्रहीत करता है।
सत्यापित करें:
पैकेज की अखंडता की जाँच करता है।
स्थापित करना:
पैकेज को स्थानीय भंडार में स्थापित करता है।
तैनात करना:
पैकेज को दूरस्थ रिपॉजिटरी में अपलोड करता है।
बिल्ड प्रक्रिया को अनुकूलित करना:
मावेन तत्व के माध्यम से प्रत्येक चरण में विशिष्ट लक्ष्य जोड़ने के लिए लचीलापन प्रदान करता है। आप मावेन की कार्यक्षमता बढ़ाने के लिए प्लगइन्स भी बना और उपयोग कर सकते हैं।
*मावेन के साथ स्थापित करें: *
यह परीक्षण, पैकेज और सत्यापन पूरा करने के बाद संकलन चरण में हमारे द्वारा बनाई गई जार फ़ाइल को स्थापित करता है।
यहां यह एक एम2 फ़ोल्डर बनाता है जिसमें सभी निर्भरताएं रखी जाती हैं। हम इस फ़ोल्डर स्थान को सेटिंग्स.xml से
के अंतर्गत बदल सकते हैं
मावेन के साथ तैनाती
परिनियोजन कॉन्फ़िगरेशन तत्व के अंदर निर्दिष्ट है।
internal.repohttp://repo.mycompany.com/maven2
टिप: हम .m2/रिपॉजिटरी फ़ोल्डर के अंदर सेटिंग्स.xml में क्रेडेंशियल प्रदान कर सकते हैं।
मावेन के साथ अपडेट रहना और इसकी बारीकियों में महारत हासिल करना परियोजना प्रबंधन को महत्वपूर्ण रूप से बढ़ा सकता है और स्वचालन कौशल का निर्माण कर सकता है। याद रखें, मेवेन सिर्फ एक बिल्ड टूल से कहीं अधिक है - यह प्रोजेक्ट का कमांड सेंटर है। गहराई में उतरें, नए प्लगइन्स खोजें और प्रयोग करते रहें। जितना अधिक हम मावेन के साथ जुड़ते हैं, हमारी विकास प्रक्रिया उतनी ही अधिक शक्तिशाली होती जाती है। सीमाओं को आगे बढ़ाते रहें और मावेन को बाकी काम संभालने दें—आखिरकार, यह आपकी परियोजना प्रबंधन आवश्यकताओं के लिए स्विस आर्मी चाकू रखने जैसा है!
पढ़ने के लिए बहुत-बहुत धन्यवाद, आपकी बहुमूल्य प्रतिक्रिया की सराहना करूंगा।
यदि आपको कोई अच्छा प्लगइन मिलता है तो मुझे टिप्पणियों में भी बताएं।
लाइक, शेयर और सब्सक्राइब करना न भूलें।
विज्ञप्ति वक्तव्य
यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/mini2809/mastering-maven-beyond-build-management-6fd?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.com से संपर्क करें।
बयानों को अलग करने के लिए अर्ध-उपनिवेश (;)। हालाँकि, यह एक त्रुटि है कि SQL सिंटैक्स में कोई त्रुटि है। इस सुविधा को सक्षम करने के लिए, आपको एक कनेक्...
] यह लेख इस मुद्दे को संबोधित करता है और एक समाधान प्रदान करता है। इसे हल करने के लिए, यह समझना महत्वपूर्ण है कि MySQL के लिए आधिकारिक विजुअल स्टूडियो...
] ऐसा इसलिए है क्योंकि डिफ़ॉल्ट पार्सिंग विधि घातीय संकेतन को पहचान नहींती है। इस तरह के स्ट्रिंग को सफलतापूर्वक पार्स करने के लिए, आपको स्पष्ट रूप ...
] अलग -अलग फॉर्मेटिंग पैटर्न के साथ अलग -अलग SIMPLEDATEFormat इंस्टेंस का उपयोग। आयात java.util.calendar; आयात java.util.date; सार्वजनिक वर्ग DateAndt...
] लॉग इन करें। वर्तमान कोड सफलतापूर्वक दो उपयोगकर्ता प्रकारों के लिए पुनर्निर्देशन का प्रबंधन करता है, लेकिन तीसरे प्रकार (व्यवस्थापक) को शामिल करने क...
] यह समस्या क्रोम और इंटरनेट एक्सप्लोरर जैसे अन्य ब्राउज़रों में नहीं होती है। इस समस्या को हल करने के लिए और बाद के पृष्ठ के दौरे पर स्क्रिप्ट निष्पा...
] eval (), एक शक्तिशाली पायथन फ़ंक्शन, अक्सर एक संभावित समाधान के रूप में उत्पन्न होता है, लेकिन चिंताएं इसके संभावित जोखिमों को घेरती हैं। यह लेख eva...
] निम्नलिखित उदाहरण पर विचार करें जहां एक अपरिभाषित संपत्ति तक पहुंचने का प्रयास एक त्रुटि उठाता है: >>> a = someclass () >>> a.property ट्रेसबैक (स...
] यह त्रुटि आम तौर पर तब होती है जब या तो Linq नेमस्पेस को छोड़ दिया जाता है या queried प्रकार में ienumerable कार्यान्वयन का अभाव होता है। इस विशिष्...
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected]
हम इसे आपके लिए यथाशीघ्र संभालेंगे।