मेवेन को व्यापक रूप से एक शक्तिशाली बिल्ड ऑटोमेशन टूल के रूप में जाना जाता है, लेकिन यह उससे कहीं अधिक है। यह एक व्यापक परियोजना प्रबंधन उपकरण है जो संपूर्ण निर्माण प्रक्रिया, निर्भरता प्रबंधन और दस्तावेज़ निर्माण को सरल बनाता है। इस पोस्ट में, हम मावेन के विभिन्न पहलुओं का पता लगाएंगे और इसकी क्षमताओं को विस्तार से समझेंगे।
मावेन की मुख्य विशेषताएं
1.बिल्ड जेनरेशन
2.निर्भरता प्रबंधन
3.दस्तावेज़ीकरण
जब आप एमवीएन बिल्ड या एमवीएन परिनियोजन जैसे कमांड निष्पादित करते हैं, तो मेवेन pom.xml फ़ाइल को देखता है, जिसमें सभी कॉन्फ़िगरेशन शामिल हैं, और तदनुसार कार्य करता है। आइए pom.xml संरचना और उसके महत्व के बारे में गहराई से जानें।
पोम फ़ाइल
```
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd'>
4.0.0
com.example my-app 1.0-SNAPSHOT jar 1.8 1.8 5.2.8.RELEASE org.springframework spring-core ${spring.version} org.springframework spring-context ${spring.version} junit junit 4.12 test org.apache.maven.plugins maven-compiler-plugin 3.8.1 ${maven.compiler.target} org.apache.maven.plugins maven-surefire-plugin 2.22.2 central https://repo.maven.apache.org/maven2 releases http://repo.mycompany.com/releases snapshots http://repo.mycompany.com/snapshots
आइए वें POM फ़ाइल को डिकोड करें:
**pom.xml की फ़ाइल एक विशिष्ट XML स्कीमा (xsi:schemaLocation: में परिभाषित) का अनुसरण करती है जो यह सुनिश्चित करती है कि यह एक सही संरचना का पालन करती है, जिसे मावेन सत्यापित करता है। यहाँ एक उदाहरण है:
महत्वपूर्ण तत्व:
पैरेंट पोम:
स्प्रिंग बूट में प्रत्येक POM फ़ाइल में एक पैरेंट POM होता है। यदि कोई अभिभावक परिभाषित नहीं है, तो सुपर पीओएम अभिभावक बन जाता है।
ग्रुपआईडी, आर्टिफैक्टआईडी, और संस्करण:
ये तत्व मावेन सेंट्रल में एक परियोजना की विशिष्ट पहचान करते हैं।
com.example my-app 1.0-SNAPSHOT jar
- 1.8
central https://repo.maven.apache.org/maven2
निर्भरताएँ: परियोजना की निर्भरताएँ सूचीबद्ध करें।
org.springframework.boot spring-boot-starter-web 2.3.4.RELEASE
मेवेन बिल्ड जीवन चक्र
मेवेन एक विशिष्ट निर्माण जीवनचक्र का अनुसरण करता है जिसमें कई चरण होते हैं:
मान्य करें:
परियोजना संरचना को मान्य करता है।
संकलन:
जावा कोड को बाइटकोड (.क्लास फ़ाइलें) में परिवर्तित करता है और उन्हें लक्ष्य/फ़ोल्डर में रखता है।
परीक्षा:
परीक्षण/निर्देशिका में स्थित परीक्षण मामले चलाता है।
पैकेट:
संकलित बाइटकोड से JAR/WAR फ़ाइलें उत्पन्न करता है और उन्हें लक्ष्य/फ़ोल्डर में संग्रहीत करता है।
सत्यापित करें:
पैकेज की अखंडता की जाँच करता है।
स्थापित करना:
पैकेज को स्थानीय भंडार में स्थापित करता है।
तैनात करना:
पैकेज को दूरस्थ रिपॉजिटरी में अपलोड करता है।
बिल्ड प्रक्रिया को अनुकूलित करना:
मावेन तत्व के माध्यम से प्रत्येक चरण में विशिष्ट लक्ष्य जोड़ने के लिए लचीलापन प्रदान करता है। आप मावेन की कार्यक्षमता बढ़ाने के लिए प्लगइन्स भी बना और उपयोग कर सकते हैं।
org.apache.maven.plugins maven-compiler-plugin 3.8.1 1.8
*मावेन के साथ स्थापित करें: *
यह परीक्षण, पैकेज और सत्यापन पूरा करने के बाद संकलन चरण में हमारे द्वारा बनाई गई जार फ़ाइल को स्थापित करता है।
यहां यह एक एम2 फ़ोल्डर बनाता है जिसमें सभी निर्भरताएं रखी जाती हैं। हम इस फ़ोल्डर स्थान को सेटिंग्स.xml से
मावेन के साथ तैनाती
परिनियोजन कॉन्फ़िगरेशन तत्व के अंदर निर्दिष्ट है।
internal.repo http://repo.mycompany.com/maven2
टिप: हम .m2/रिपॉजिटरी फ़ोल्डर के अंदर सेटिंग्स.xml में क्रेडेंशियल प्रदान कर सकते हैं।
मावेन के साथ अपडेट रहना और इसकी बारीकियों में महारत हासिल करना परियोजना प्रबंधन को महत्वपूर्ण रूप से बढ़ा सकता है और स्वचालन कौशल का निर्माण कर सकता है। याद रखें, मेवेन सिर्फ एक बिल्ड टूल से कहीं अधिक है - यह प्रोजेक्ट का कमांड सेंटर है। गहराई में उतरें, नए प्लगइन्स खोजें और प्रयोग करते रहें। जितना अधिक हम मावेन के साथ जुड़ते हैं, हमारी विकास प्रक्रिया उतनी ही अधिक शक्तिशाली होती जाती है। सीमाओं को आगे बढ़ाते रहें और मावेन को बाकी काम संभालने दें—आखिरकार, यह आपकी परियोजना प्रबंधन आवश्यकताओं के लिए स्विस आर्मी चाकू रखने जैसा है!
पढ़ने के लिए बहुत-बहुत धन्यवाद, आपकी बहुमूल्य प्रतिक्रिया की सराहना करूंगा।
यदि आपको कोई अच्छा प्लगइन मिलता है तो मुझे टिप्पणियों में भी बताएं।
लाइक, शेयर और सब्सक्राइब करना न भूलें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3