maven dependency integration with eclipse
इस ट्यूटोरियल में, हम ग्रहण और TestNG, मावेन डिपेंडेंसी स्कोप और मावेन परिनियोजन स्वचालन के साथ मावेन के एकीकरण पर विस्तार से चर्चा करेंगे:
पिछले ट्यूटोरियल में, हमने ग्रैडल बनाम मावेन और मावेन प्लगइन्स के बीच तुलना पर चर्चा की। यह ट्यूटोरियल बताता है कि मावेन को अन्य साधनों, मावेन निर्भरता और मावेन तैनाती के साथ कैसे एकीकृत किया जाए।
टेस्ट केस और टेस्ट स्क्रिप्ट के बीच अंतर
आएँ शुरू करें!
=> विशेष मावेन प्रशिक्षण ट्यूटोरियल श्रृंखला के लिए यहां जाएं।
आप क्या सीखेंगे:
- ग्रहण के साथ मावेन का एकीकरण
- TestNG के साथ मावेन का एकीकरण
- मावेन डिपेंडेंसी स्कोप
- मावेन तैनाती स्वचालन
- मावेन रिलीज प्लगइन
- निष्कर्ष
- अनुशंसित पाठ
ग्रहण के साथ मावेन का एकीकरण
ग्रहण के साथ मावेन को कैसे एकीकृत किया जाए, इस पर पहले ही गहन चर्चा की जा चुकी है पृष्ठ
कुछ परिदृश्यों में जहां हम कमांड प्रॉम्प्ट से मावेन प्रोजेक्ट बनाते हैं और हमें उस प्रोजेक्ट को एक्लिप्स में लाने की आवश्यकता होती है, फिर निम्नलिखित चरणों को निष्पादित किया जाना है।
# 1) मावेन परियोजना के लिए पोम फ़ाइल के स्थान पर नेविगेट करें। नीचे दिए गए आदेश चलाएँ।
मवन ग्रहण: ग्रहण
# 2) .क्लासपथ तथा .प्रदर्शन करें मावेन परियोजना के स्थान पर बनाया जाएगा।
सत्यापित करें कि मावेन प्लगइन पहले से ही ग्रहण में प्रदान किया गया है विंडोज => प्राथमिकताएं , मावेन को वहां उपस्थित होना चाहिए। सभी मौजूदा ग्रहण संस्करणों में डिफ़ॉल्ट रूप से मावेन प्लगइन्स हैं और अगर यह नहीं है, तो हम इसे प्राप्त कर सकते हैं यहां ।
# 3) अब मावेन और ग्रहण के संयोजन में काम करने के लिए, फाइल से मावेन परियोजना को आयात करें। फिर का चयन करें मौजूदा मावेन परियोजना।
# 4) प्रोजेक्ट का स्थान ब्राउज़ करें और आगे बढ़ें।

ऊपर चित्रित छवि ग्रहण के लिए आयातित मावेन परियोजना को दर्शाती है।
TestNG के साथ मावेन का एकीकरण
टेस्ट पेज के साथ मावेन को कैसे एकीकृत किया जाए, इसकी चर्चा नीचे के पृष्ठ पर गहराई से की गई है।
=> Maven अचूक प्लगिन का उपयोग कर TestNg के साथ मावेन का एकीकरण
जबकि हमने अपने प्रोजेक्ट में मावेन को TestNG के साथ एकीकृत किया है, ऐसी परिस्थितियाँ हो सकती हैं जहाँ हमारी परियोजना में एक से अधिक Testng xml फाइलें हों। उदाहरण के लिए, संपूर्ण प्रतिगमन सूट सुविधाओं को एक testng.xml में वर्णित किया गया है और अन्य testng.xml फ़ाइल में स्वच्छता परीक्षण के मामलों का वर्णन किया गया है।
इस तरह की स्थिति में, हमें इसका उपयोग करने की आवश्यकता है प्रोफ़ाइल मावेन में अवधारणा। पोम फाइल में, हमें प्रोफाइल को परिभाषित करना होगा। प्रत्येक टैग का एक हिस्सा है और इसके साथ जुड़ा हुआ है।
एक pom.xml फ़ाइल वाली प्रोफाइल कोड स्निपेट नीचे दिया गया है:
Regression org.apache.maven.plugins maven-surefire-plugin 2.20.1 testngRegression.xml Sanity org.apache.maven.plugins maven-surefire-plugin 2.20.1 testngSanity.xml
कृपया ध्यान दें कि हमारे पास ऊपर दो प्रोफाइल हैं, नीचे वर्णित हैं और प्रत्येक प्रोफ़ाइल में इसके साथ जुड़ा हुआ एक आईडी है। उदाहरण के लिए, वापसी तथा मानसिक स्वास्थ्य भी, SuiteXmlFiles के तहत, हमने आईडी के अनुरूप Testng xml फ़ाइल का नाम परिभाषित किया ( testngRegression.xml तथा testngSanity.xml ) है।
सबसे अच्छा पॉप अप अवरोधक क्रोम एक्सटेंशन
इस प्रकार हमारे यहां दो प्रोफाइल हैं और हम प्रत्येक टेस्टींग फाइल को सिंगल पोम फाइल की मदद से नियंत्रित कर सकते हैं।
अब कमांड प्रॉम्प्ट से सीधे प्रत्येक Testng फ़ाइल के लिए एक परीक्षण मामले को ट्रिगर करने के लिए, हमें प्रोजेक्ट फ़ोल्डर में जाने और निम्नलिखित कमांड चलाने की आवश्यकता है।
mvn test –PRegression
एक बार यह निष्पादित हो जाने के बाद, मावेन ने आईडी रिग्रेशन और संबंधित के साथ प्रोफ़ाइल की खोज की testngRegression.xml फ़ाइल। इस प्रकार केवल वहाँ शामिल परीक्षणों को निष्पादित किया जाता है।
इसी तरह, आईडी के साथ एक प्रोफ़ाइल के लिए Sanity, कमांड है:
mvn test –PSanity
यहां ही testngSanity.xml फ़ाइल का उपयोग परीक्षण के मामलों को निर्धारित करने के लिए किया जाता है। इस प्रकार परीक्षण मामलों के एक विशेष सेट को ट्रिगर करने के लिए, हमें pom में TestNG फ़ाइल नाम को संशोधित करने की आवश्यकता नहीं है, बल्कि इसे अलग-अलग TestNG फ़ाइलों को बनाए रखकर आसानी से प्राप्त किया जा सकता है।
पोम फाइल में, हम इन फाइलों को मैप कर सकते हैं और अंत में कमांड प्रॉम्प्ट से मावेन में प्रोफाइल की मदद से इन्हें चला सकते हैं।
मावेन डिपेंडेंसी स्कोप
नीचे सूचीबद्ध के अनुसार मावेन के कुल छह स्कॉप हैं।
- प्रदान की
- परीक्षा
- प्रणाली
- आयात
- संकलन
- क्रम
(1) रनटाइम स्कोप
मावेन निर्भरता में रनटाइम के रूप में एक गुंजाइश है और निर्माण उद्देश्यों के लिए उपयोग नहीं किया जाता है। यह परियोजना के चलाने और परीक्षण के लिए क्लासपैथ का गठन करता है। नीचे दिए गए कोड स्निपेट में रनटाइम स्कोप निर्भरता दिखाई देती है।
com.softwaretesting MavenJava 2.3 runtime
# 2) सिस्टम स्कोप
एक प्रणाली के रूप में गुंजाइश के साथ मावेन निर्भरता प्रदान किए गए दायरे के समान है। सिस्टम निर्भरता को दूरस्थ रिपॉजिटरी से डाउनलोड नहीं किया जा सकता है और आम तौर पर प्रोजेक्ट की निर्देशिका में स्थित होता है। नीचे दिया गया कोड स्निपेट एक सिस्टम स्कोप निर्भरता दर्शाता है।
com.software MavenJava1 system 3.0 ${dir}warWEB-INFlibdep.jar
# 3) स्कोप प्रदान किया
परियोजनाओं के निर्माण और परीक्षण के लिए मावेन निर्भरता जो कि एक गुंजाइश है, प्रदान की गई है। इस निर्भरता को निर्यात करने की अनुशंसा नहीं की जाती है, क्योंकि वे रनटाइम पर उपलब्ध हैं। हालांकि, बिल्ड चलाने के लिए यह निर्भरता आवश्यक है। नीचे दिया गया कोड स्निपेट एक प्रदत्त गुंजाइश निर्भरता दर्शाता है।
com.test MavenJava2 5.1.1 provided
# 4) टेस्ट स्कोप
परियोजना के निर्माण और संचालन के लिए मावेन निर्भरता जिसका परीक्षण की गुंजाइश है, की आवश्यकता नहीं है। वे अनिवार्य रूप से इकाई परीक्षण मामलों को संकलित करने और चलाने के लिए उपयोग किए जाते हैं। नीचे दिए गए कोड स्निपेट में परीक्षण गुंजाइश निर्भरता दिखाई देती है।
com.testing MavenJava3 1.0.2 test
# 5) आयात स्कोप
पोम फ़ाइल के अंदर, निर्भरता प्रबंधन अनुभाग में स्कोप आयात होता है। यह निर्भरता को पोम फ़ाइल के निर्भरता प्रबंधन अनुभाग में प्रदान की गई निर्भरता के प्रभावी समूह के साथ बदलने का संकेत देता है। नीचे दिया गया कोड स्निपेट एक आयात गुंजाइश निर्भरता दर्शाता है।
com.testhelp MavenJava4 SNAP import pom
# 6) कम्पाइल स्कोप
मावेन निर्भरता जिसमें संकलन की गुंजाइश है, डिफ़ॉल्ट एक है। यह निर्भरता परियोजना के निर्माण, परीक्षण और चलाने के लिए आवश्यक है। आयात विवरण वाले जावा स्रोत कोड को हल करने के लिए यह ज्यादातर महत्वपूर्ण है। नीचे दिए गए कोड स्निपेट एक संकलन गुंजाइश निर्भरता को दर्शाता है।
logging log 2.1.3 compile
मावेन तैनाती स्वचालन
प्रोजेक्ट परिनियोजन एक महत्वपूर्ण चरण है और इसमें नीचे सूचीबद्ध कई चरणों को शामिल किया गया है:
- कोड को रिपॉजिटरी में जाँचने के लिए विकसित किया गया।
- स्रोत कोड को रिपॉजिटरी से डाउनलोड किया जाना है।
- संकलन और अनुप्रयोग का निर्माण और JAR या WAR फ़ाइलों का निर्माण।
- परिचित JAR या WAR फ़ाइलों को किसी परिचित नेटवर्क स्थान पर रखना।
- JAR या WAR फ़ाइलों को लोड करें।
- डाउनलोड किए गए JAR या WAR फ़ाइलों को लक्ष्य सर्वर पर नियोजित करें।
- आवेदन में नया संस्करण संख्या और प्रलेखन में अद्यतन की जाने वाली तारीख।
परियोजना में शामिल टीमों के प्रत्येक सदस्य द्वारा उपरोक्त चरणों का पालन किया जाता है। उपरोक्त सूचीबद्ध चरणों में से, यदि कोई भी छूट गया है या कुछ भी ठीक से नहीं किया गया है, तो इसका परिणाम है निर्माण और तैनाती की विफलता । इस बीच, यदि कोई त्रुटियां हैं, तो उन्हें स्वचालित रूप से ठीक करने की आवश्यकता है।
मावेन तैनाती को स्वचालित और मजबूत बनाने के लिए तैनाती स्वचालन विधि का पालन करता है। यह नीचे सूचीबद्ध प्रक्रियाओं के संयोजन द्वारा प्राप्त किया गया है:
विंडोज़ 10 के लिए मुफ्त पीसी मरम्मत सॉफ्टवेयर
- मावेन द्वारा देखभाल की जाने वाली परियोजना का निर्माण और रिलीज।
- स्रोत कोड को तोड़फोड़ और स्रोत कोड भंडार द्वारा प्रबंधित किया जाना चाहिए।
- दूरस्थ रिपोजिटरी प्रबंधक की देखभाल के लिए प्रोजेक्ट बायनेरिज़।
मावेन की स्वचालित निर्माण और रिलीज़ प्रक्रिया मावेन रिलीज़ प्लग द्वारा ध्यान में रखी गई है। pom.xml फ़ाइल को नीचे दर्शाए अनुसार अपडेट किया जाना चाहिए।
नीचे दिया गया कोड com.softwaretestHelp प्रोजेक्ट pom.xml के लिए है
4.0.0 com.softwaretestHelp TestApplication war 2.0 WebTest Maven Java http://maven.apache.org http://www.svn.com scm:svn:http://localhost:8080/svn/jrepo/trunk/Framework scm:svn:testing/test@localhost:8080:common_core_api:1101:code SampleTest-Web-Release Release repository http://localhost:8082/nexus/content/repositories/SampleTest-Web-Release org.apache.maven.plugins maven-release-plugin 2.0-beta-9 false deploy (SampleTest-Web- checkin) junit junit 3.9 test
उपरोक्त pom.xml फ़ाइल में मुख्य विशेषताएं नीचे सूचीबद्ध हैं:
- एससीएम : एसवीएन द्वारा एसवीएन (जहां स्रोत कोड मौजूद है) का स्थान कॉन्फ़िगर किया गया है।
- डेटा संग्रह स्थान : यह JAR या WAR या EAR फ़ाइलों या किसी भी अन्य प्रोजेक्ट विरूपण साक्ष्य के निर्माण के सफल समापन के बाद का स्थान है।
- लगाना : मावेन रिलीज प्लगइन द्वारा परिनियोजन स्वचालन।
मावेन रिलीज प्लगइन
मावेन रिलीज प्लगइन निम्नलिखित गतिविधियों को करता है:
- mvn रिलीज: साफ - यह भविष्य के निर्माण के आने से पहले पिछले निर्माण के कार्यक्षेत्र को साफ करता है।
- mvan रिलीज़: रोलबैक - पिछले निर्माण की विफलता के मामले में, यह कार्यक्षेत्र में रोलबैक करता है।
- mvn रिलीज: तैयार - यह सत्यापित करता है कि क्या फ़ाइलों में कोई भी अन-कम किए गए परिवर्तन हैं या नहीं। इसके अलावा, स्नैपशॉट निर्भरता की जांच करता है और एप्लिकेशन की संस्करण संख्या को अपडेट करता है। यह pom को SCM में बदल देता है। यह परीक्षण मामले के निष्पादन का ध्यान रखता है और अंतिम कोड SCM को प्रतिबद्ध करता है। यह तोड़फोड़ में कोड का टैगिंग करता है। अंत में, इस प्लगइन द्वारा भविष्य में अन्य रिलीज के लिए वर्जन संख्या को बढ़ाया और SNAPSHOT से जोड़ा गया है।
- mvn रिलीज: प्रदर्शन - यह रिपॉजिटरी में मौजूद कोड को चेक करता है और फिर Maven को बिल्ड आर्टवर्क को रिपॉजिटरी में तैनात करने के लिए गोल चलाता है।
अंत में, हमें परियोजना के निर्माण के लिए नीचे दिए गए आदेश को चलाने की आवश्यकता है:
mvn release: prepare
एक बार बिल्ड के सफल समापन के बाद, निम्न कमांड चलाएँ:
mvn release: perform
अब WAR फ़ाइल को रिपॉजिटरी में अपलोड किया जाता है।
निष्कर्ष
हम आशा करते हैं कि ग्रहण के साथ मावेन एकीकरण के प्रमुख अंश, TestNG, मावेन प्रोफाइल, मावेन की निर्भरता गुंजाइश, और मावेन की तैनाती स्वचालन के साथ इसका एकीकरण अब समझ में आना चाहिए। साथ ही, हमने यहां निर्भरता के अधिकांश दायरे पर चर्चा की है।
मावेन की तैनाती प्रक्रिया के लिए, हमने गहराई से सभी चरणों का पता लगाया और मावेन रिलीज प्लगइन्स में से कुछ को समझाया। विषयों के माध्यम से पढ़ें और धीरे-धीरे आप हमारे काम में मावेन का उपयोग करने के वास्तविक सार को समझेंगे।
हम श्रृंखला के साथ जारी रहेंगे और अपने आगामी ट्यूटोरियल्स में मावेन जेनकिंस इंटीग्रेशन, मावेन साक्षात्कार प्रश्न आदि पर ज्ञान एकत्र करेंगे।
=> यहाँ सभी मावेन ट्यूटोरियल की जाँच करें।
अनुशंसित पाठ
- मावेन क्या है - शुरुआती के लिए मावेन ट्यूटोरियल
- शुरुआती के लिए गहराई से ग्रहण ट्यूटोरियल
- TestNG ट्यूटोरियल: TestNG फ्रेमवर्क का परिचय
- ग्रहण ट्यूटोरियल: ग्रहण जावा IDE में TestNG का एकीकरण
- ग्रहण जावा आईडीई के साथ मावेन को कॉन्फ़िगर करना
- ग्रैडल बनाम मावेन और मावेन प्लगइन्स
- Jenkins और परियोजनाओं के लिए Maven प्रलेखन के साथ मावेन
- Maven अचूक प्लगिन का उपयोग कर TestNg के साथ मावेन का एकीकरण