Maven Project Structure
POM, lifecycle और dependencies
Maven Project Structure, CoddyKit पर Java Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Java Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Java Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
Maven प्रोजेक्ट की संरचना
Maven एक बिल्ड टूल और निर्भरता प्रबंधक है, जो एक सिद्धांत पर आधारित है: कॉन्फ़िगरेशन के बजाय परंपरा। इसकी मानक संरचना का पालन करें और लगभग बिना किसी सेटअप के अधिकांश चीज़ें काम करने लगती हैं। इस पाठ में संरचना, POM और निर्भरता प्रबंधन शामिल हैं।
मानक डायरेक्टरी संरचना
Maven एक निश्चित संरचना की अपेक्षा करता है:
src/main/java— प्रोडक्शन स्रोत कोड।src/main/resources— प्रोडक्शन संसाधन।src/test/java— परीक्षण स्रोत कोड।target/— बिल्ड आउटपुट (स्वचालित रूप से जनरेट किया गया)।
POM
Maven प्रोजेक्ट का केंद्र pom.xml है — प्रोजेक्ट ऑब्जेक्ट मॉडल। इसमें XML के माध्यम से निर्देशांक, निर्भरताएँ, प्लगइन और बिल्ड सेटिंग घोषित की जाती हैं।
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-app</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
</project>निर्देशांक: GAV
हर आर्टिफैक्ट की पहचान groupId, artifactId और संस्करण (GAV) से होती है। ये निर्देशांक आपके प्रोजेक्ट और आपके द्वारा जोड़ी गई हर निर्भरता का विशिष्ट नाम निर्धारित करते हैं।
निर्भरताएँ घोषित करना
निर्भरताओं की सूची <dependencies> के अंदर दी जाती है। Maven उन्हें और उनकी पारगामी निर्भरताओं को Maven के केंद्रीय भंडार जैसे भंडारों से स्थानीय कैश में डाउनलोड करता है।
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.0</version>
<scope>test</scope>
</dependency>
</dependencies>निर्भरता के दायरे
दायरा यह नियंत्रित करता है कि निर्भरता क्लासपाथ पर कब उपलब्ध हो:
- संकलन — हर जगह (डिफ़ॉल्ट)।
- उपलब्ध कराया गया — केवल संकलन के समय; रनटाइम पर कंटेनर इसे उपलब्ध कराता है।
- रनटाइम — रनटाइम और परीक्षण के समय, संकलन के समय नहीं।
- परीक्षण — केवल परीक्षण का संकलन और निष्पादन।
पारगामी निर्भरताएँ
यदि A, B पर निर्भर है और B, C पर निर्भर है, तो Maven आपको C अपने-आप उपलब्ध करा देता है — इसे पारगमनशीलता कहते हैं। जब संस्करणों में टकराव होता है, तो Maven निर्भरता ट्री में मौजूद सबसे निकट परिभाषा के आधार पर उसका समाधान करता है।
बिल्ड जीवनचक्र
Maven चरणों का एक क्रमबद्ध जीवनचक्र निर्धारित करता है। डिफ़ॉल्ट जीवनचक्र में क्रम से ये चरण शामिल हैं: validate, compile, test, package, verify, install, deploy। किसी चरण को चलाने पर उससे पहले के सभी चरण भी चल जाते हैं।
सामान्य कमांड
mvn compile— मुख्य स्रोतों का संकलन करें।mvn test— यूनिट परीक्षण चलाएँ।mvn package— JAR/WAR कोtarget/में बनाएँ।mvn install— अन्य प्रोजेक्ट के लिए आर्टिफैक्ट को अपने स्थानीय भंडार में कॉपी करें।
स्थानीय भंडार
डाउनलोड किए गए आर्टिफैक्ट ~/.m2/repository में कैश किए जाते हैं। बाद के बिल्ड में उन्हें दोबारा डाउनलोड करने के बजाय कैश का पुनः उपयोग किया जाता है। mvn install आपके अपने आर्टिफैक्ट को वहाँ रख देता है, ताकि सहोदर प्रोजेक्ट उस पर निर्भर हो सकें।
बहु-मॉड्यूल प्रोजेक्ट
<packaging>pom</packaging> वाला पैरेंट POM चाइल्ड <modules> की सूची दे सकता है। Maven उन्हें निर्भरता के क्रम में बनाता है, जिससे कोई बड़ा सिस्टम एक ही स्थान से कॉन्फ़िगरेशन और संस्करण साझा कर सकता है।
त्वरित जाँच
Maven की संरचना के बारे में अपनी समझ जाँचें।
पुनरावलोकन
आपने Maven की बुनियाद सीखी:
- मानक
src/main/javaसंरचना के साथ कॉन्फ़िगरेशन के बजाय परंपरा। - POM GAV निर्देशांक, निर्भरताएँ और प्लगइन घोषित करता है।
- दायरे (संकलन, उपलब्ध कराया गया, रनटाइम, परीक्षण) क्लासपाथ पर दृश्यता नियंत्रित करते हैं।
- निर्भरताएँ पारगामी होती हैं; टकरावों का समाधान सबसे निकट परिभाषा के आधार पर होता है।
- क्रमबद्ध जीवनचक्र का अर्थ है कि कोई चरण उससे पहले के सभी चरण चलाता है।
एआई शिक्षक के साथ Java सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 104
- पाठ
- 374
अक्सर पूछे जाने वाले प्रश्न
क्या “Maven Project Structure” पाठ निःशुल्क है?
हाँ—“Maven Project Structure” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Java Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Java Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Maven Project Structure” में मैं क्या सीखूँगा?
POM, lifecycle और dependencies आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Java Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Java Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Java Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“Maven Project Structure” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Java Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Java Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Maven Project Structure
- Maven Plugins और Goals
- Gradle की मूल बातें
- Build Tool चुनना