अपाचे ANT ट्यूटोरियल: Ant बिल्ड टूल क्या है? उदाहरण
⚡ स्मार्ट सारांश
अपाचे एएनटी एक है Java यह एक ऐसा बिल्ड टूल है जो XML बिल्ड फ़ाइल के माध्यम से संकलन, परीक्षण, पैकेजिंग और परिनियोजन को स्वचालित करता है। यह लेख इस टूल को परिभाषित करता है। tracइसका इतिहास, इसमें शामिल है Windows यह इंस्टॉलेशन प्रक्रिया को समझाता है, प्रोजेक्ट संरचना की व्याख्या करता है और इसकी तुलना मेवन से करता है। Gradle.

बिल्ड टूल क्या है?
बिल्ड टूल एक प्रोग्रामिंग टूल है जिसका उपयोग किसी प्रोग्राम का नया संस्करण बनाने के लिए किया जाता है। यह किसी भी सोर्स कोड से एक निष्पादन योग्य एप्लिकेशन के निर्माण को स्वचालित करता है।
बिल्ड टूल के बिना, एक डेवलपर को प्रत्येक सोर्स फ़ाइल को मैन्युअल रूप से कंपाइल करना होगा, रिसोर्स कॉपी करने होंगे, टेस्ट सूट चलाना होगा और प्रत्येक बदलाव पर परिणाम को पैकेज करना होगा। बिल्ड टूल इन चरणों को एक बार रिकॉर्ड करता है और प्रत्येक मशीन पर उन्हें हूबहू दोहराता है।
अपाचे एंट क्या है?
अपाचे चींटी एक Javaनिर्माण के लिए -आधारित कमांड-लाइन उपकरण Java शुद्ध की पूर्ण पोर्टेबिलिटी के साथ अनुप्रयोग Java कोड। यह डेवलपर्स को एजाइल सिद्धांतों और टेस्ट-ड्रिवन डेवलपमेंट को अपनाने की अनुमति देता है ताकि डॉक्यूमेंटेशन तैयार करने जैसे दोहराव वाले डेवलपमेंट कार्यों को स्वचालित किया जा सके। एंट का पूरा नाम है Another Neat Tool।
जैसा कि आरेख में दिखाया गया है, एंट एक बिल्ड फ़ाइल को पढ़ता है, उसके अंदर लक्ष्यों के क्रम को निर्धारित करता है, और फिर एप्लिकेशन को संकलित करने, कॉपी करने, परीक्षण करने और पैकेज करने वाले अलग-अलग कार्यों को चलाता है।
अपाचे एंट बिल्ड टूल का उपयोग किस लिए किया जाता है?
बिल्ड टूल का उपयोग करने के कुछ महत्वपूर्ण लाभ इस प्रकार हैं:
- एक बिल्ड टूल आपको विशिष्ट दोहराव वाले कार्यों को स्वचालित करने की अनुमति देता है, जैसे कि सोर्स कोड को कंपाइल करना, सॉफ्टवेयर परीक्षण चलाना और सॉफ्टवेयर परिनियोजन के लिए फाइलें बनाना।
- बिल्ड टूल्स अधिकांशतः ग्राफिकल यूजर इंटरफेस के बिना चलते हैं।
- यह आपको सोर्स कोड को निष्पादन योग्य कोड में परिवर्तित करने में मदद करता है।
- यह आवश्यकता पड़ने पर ही किसी फ़ाइल को पुनः संकलित करने का विकल्प प्रदान करता है।
- यह आपको अपेक्षाकृत कम समय में बड़ी संख्या में फाइलों को संकलित करने की अनुमति देता है।
- द्वारा उपयोग किये जाने वाले दो व्यापक रूप से लोकप्रिय निर्माण उपकरण Java डेवलपर्स अपाचे हैं Maven और चींटी.
अपाचे एंट का इतिहास
अब हम अपाचे एंट बिल्ड टूल के इतिहास के बारे में जानेंगे।
अपाचे एंट टूल से महत्वपूर्ण ऐतिहासिक स्थल यहां दिए गए हैं:
- जेम्स डंकन डेविडसन ने जुलाई 2000 में एंट की रचना की थी।
- इसका उपयोग शुरू में टॉमकैट बनाने के लिए किया गया था और यह टॉमकैट वितरण किट के एक अंतर्निहित उत्पाद के रूप में आया था।
- मई 2014 में, अपाचे एंट संस्करण 1.9.4 को कई उन्नत सुविधाओं के साथ जारी किया गया था।
- 1.10.x लाइन 2017 में शुरू हुई थी और यह अभी भी सक्रिय रूप से अनुरक्षित शाखा है।
- संस्करण 1.10.17 10 अप्रैल 2026 को जारी किया गया था और इसके लिए न्यूनतम आवश्यकता है। Java 8 रनटाइम।
अपाचे एंट की विशेषताएं
अपाचे एंट की मुख्य विशेषताएं इस प्रकार हैं:
- यह एक ओपन-सोर्स प्रोजेक्ट है।
- यह आपको दोनों पर बिल्ड चलाने की अनुमति देता है। Windows और यूनिक्स या लिनक्स सिस्टम।
- आपको केवल एक की आवश्यकता है JVMक्योंकि यह कहीं भी चल सकता है जहां जेवीएम उपलब्ध हो।
- यह पूर्वनिर्धारित कार्यों की एक विस्तृत श्रृंखला प्रदान करता है।
- यह आपको फाइलों को एक स्थान से दूसरे स्थान पर कॉपी करने में मदद करता है।
- यह कस्टम कार्यों को विकसित करने के लिए एक इंटरफ़ेस प्रदान करता है।
- यह आपको कमांड लाइन से बिल्ड शुरू करने की अनुमति देता है, जो आसानी से एकीकृत हो जाता है। मुफ़्त और वाणिज्यिक IDEs.
- यह आपको बाइनरी फ़ाइलों को एक परीक्षण सर्वर पर तैनात करने की अनुमति देता है।
- यह एक विस्तार योग्य आर्किटेक्चर प्रदान करता है।
- यह विभिन्न संस्करणों के साथ बैकवर्ड कम्पैटिबिलिटी प्रदान करता है।
अपाचे एंट को कैसे स्थापित और कॉन्फ़िगर करें Windows
अब हम Apache Ant को इंस्टॉल करने की प्रक्रिया सीखेंगे। Windows.
हम मान रहे हैं कि आपने पहले ही डाउनलोड और इंस्टॉल कर लिया है Java विकास उपकरण समूह अपने कंप्यूटर पर (JDK) इंस्टॉल करें। सुनिश्चित करें कि JAVA_HOME एनवायरनमेंट वेरिएबल उस फ़ोल्डर पर सेट है जहाँ आपका JDK इंस्टॉल है। Ant इंस्टॉल करने के लिए नीचे दिए गए चरणों का पालन करें:
चरण 1) बाइनरी डाउनलोड करें.
बाइनरी को यहां से डाउनलोड करें https://ant.apache.org/bindownload.cgi
चरण 2) फ़ाइलें खोलना।
इस ज़िप फ़ाइल को किसी सुविधाजनक स्थान जैसे कि c:\folder में अनज़िप करें। WinZip, WinRAR, 7-Zipया इसी तरह का कोई उपकरण।
चरण 3) एक पर्यावरण चर बनाएँ.
“ANT_HOME” के लिए एक पर्यावरण चर बनाएं और चर का मान Ant फ़ोल्डर के स्थान पर असाइन करें।
- 'This PC' आइकन पर राइट-क्लिक करें।
- प्रॉपर्टीज पर क्लिक करें।
चरण 4) सिस्टम सेटिंग्स पर जाएं.
“उन्नत सिस्टम सेटिंग्स” पर क्लिक करें।
चरण 5) सिस्टम गुणधर्मों पर,
एडवांस्ड टैब पर क्लिक करें।
चरण 6) पर्यावरण चर ज्ञात कीजिए।
“पर्यावरण चर…” बटन पर क्लिक करें।
चरण 7) एक नया वेरिएबल बनाएं।
नया उपयोगकर्ता वेरिएबल बनाने के लिए “नया” पर क्लिक करें।
चरण 8) वेरिएबल का विवरण दर्ज करें।
नए उपयोगकर्ता चर का विवरण दर्ज करें।
- वेरिएबल का नाम ANT_HOME के रूप में दर्ज करें।
- वेरिएबल का मान उस फ़ोल्डर के रूप में दर्ज करें जहाँ Ant को अनज़िप किया गया था, उदाहरण के लिए C:\apache-ant-1.10.17.
- ठीक बटन पर क्लिक करें।
चरण 9) वेरिएबल बनाया गया।
ठीक बटन पर क्लिक करें।
चरण 10) स्क्रीन बंद करें.
स्क्रीन बंद करने के लिए “ओके” पर क्लिक करें।
💡टिप: ANT_HOME को इंस्टॉलेशन फ़ोल्डर की ओर इंगित करना चाहिए, न कि उसके अंदर मौजूद बिन फ़ोल्डर की ओर। फिर जोड़ें %ANT_HOME%\bin इसे Path वेरिएबल में जोड़ा जाता है, ताकि ant कमांड को किसी भी डायरेक्टरी से पहचाना जा सके।
आप Ant के सफल इंस्टॉलेशन की पुष्टि करने के लिए निम्नलिखित कमांड का उपयोग कर सकते हैं:ping कमांड प्रॉम्प्ट में “ant -version” कमांड का उपयोग करें।
आपको निम्न स्क्रीन दिखाई देगी:
अपाचे एएनटी का उदाहरण
नीचे दी गई बिल्ड फ़ाइल में 'हैलो' नामक एक सिंगल टारगेट परिभाषित किया गया है जो एक संदेश प्रिंट करता है। प्रोजेक्ट एलिमेंट एक नाम और एक डिफ़ॉल्ट टारगेट घोषित करता है, ताकि जब कमांड लाइन पर कोई टारगेट नाम न दिया गया हो तो एंट को पता रहे कि क्या चलाना है।
<?xml version="1.0"?> <project name="HelloWorld" default="hello" basedir="."> <target name="hello"> <echo>Hello, World</echo> </target> </project>
इस फ़ाइल को “build.xml” के रूप में सहेजें, फिर इन दो चरणों का पालन करें:
- कमांड प्रॉम्प्ट खोलें और उस डायरेक्टरी में जाएं जिसमें build.xml फ़ाइल है।
- रन
ant hello, या केवलantक्योंकि hello को डिफ़ॉल्ट लक्ष्य घोषित किया गया है। किसी अन्य फ़ाइल नाम का उपयोग करने के लिए, चलाएँant -f mybuild.xml hello.
आउटपुट:
Buildfile: C:\projects\demo\build.xml
hello:
[echo] Hello, World
BUILD SUCCESSFUL
Total time: 0 seconds
एएनटी परियोजना संरचना
एएनटी परियोजना संरचना
जैसा कि संरचना आरेख दर्शाता है, प्रत्येक निर्माण में तीन नोड होंगे:
- परियोजना
- Target
- कार्य
परियोजना
अपाचे एएनटी में बिल्ड फ़ाइल के अंदर सब कुछ एक प्रोजेक्ट के अंतर्गत है।
गुण:
- नाम परियोजना का नाम।
- बेस्डिर: यह वह डायरेक्टरी है जहाँ से सभी पथों की गणना की जाएगी। इसे "basedir" प्रॉपर्टी का उपयोग करके बदला जा सकता है।
- चूक: यह आपको इस प्रोजेक्ट के लिए डिफ़ॉल्ट लक्ष्य निर्धारित करने में मदद करता है। यदि कोई लक्ष्य नहीं दिया गया है, तो Ant डिफ़ॉल्ट लक्ष्य को निष्पादित करेगा।
Target
लक्ष्य कार्यों का एक समूह है, जिसे निर्माण प्रक्रिया में एक विशिष्ट स्थिति तक पहुंचने के लिए परिभाषित किया जाता है।
गुण:
- नाम लक्ष्य का नाम (अनिवार्य)।
- Descriptआयन: Descriptलक्ष्य का आयन।
- निर्भर करता है: यह वर्तमान लक्ष्य किस लक्ष्य पर निर्भर करता है?
- अगर: यह लक्ष्य को तभी निष्पादित करता है जब लक्ष्य प्रॉपर्टी के लिए कोई मान निर्धारित किया गया हो।
- जब तक: यह लक्ष्य को तभी निष्पादित करता है जब प्रॉपर्टी का मान सेट न हो।
कार्य
टास्क एक कोड का हिस्सा होता है जिसे निष्पादित किया जा सकता है। टास्क में कई आर्गुमेंट या एट्रीब्यूट हो सकते हैं।
किसी कार्य को लिखने का सामान्य तरीका इस प्रकार है:
<name attribute1="value" attribute2="value2"…/>
आप या तो किसी अंतर्निहित कार्य का उपयोग कर सकते हैं, या अपना स्वयं का कार्य बना सकते हैं। नीचे दी गई तालिका में उन कार्यों की सूची दी गई है जो लगभग सभी में दिखाई देते हैं। Java बिल्ड फ़ाइल।
| कार्य | उद्देश्य | विशिष्ट विशेषताएँ |
|---|---|---|
| गूंज | कंसोल पर एक संदेश प्रिंट करें | message |
| mkdir | एक निर्देशिका बनाएँ | दीर |
| हटाना | फ़ाइलें या निर्देशिकाएँ हटाएँ | निर्देशिका, खाली निर्देशिकाएँ शामिल करें |
| जेवैक | संकलन करना Java स्रोत फ़ाइलें | srcdir, destdir, includeantruntime |
| जार | पैकेज क्लासेस को जार आर्काइव में पैक करें | डेस्टफ़ाइल, बेस्डआईआर |
| प्रतिलिपि | फ़ाइलों को विभिन्न स्थानों के बीच कॉपी करें | फ़ाइल, todir |
| JUnit | यूनिट परीक्षण चलाएँ | haltonfailure, printsummarri |
एकाधिक के साथ पूर्ण build.xml उदाहरण Targets
एक व्यावहारिक बिल्ड फ़ाइल कई लक्ष्यों को एक साथ जोड़ती है। डिपेंड्स एट्रिब्यूट क्रम की गारंटी देता है, इसलिए एंट आउटपुट फ़ोल्डर को साफ़ करता है, स्रोत को कंपाइल करता है, और उसके बाद ही जार फ़ाइल बनाता है।
<?xml version="1.0"?> <project name="DemoApp" default="jar" basedir="."> <!-- reusable values --> <property name="src.dir" value="src"/> <property name="build.dir" value="build"/> <target name="clean" description="Remove previous output"> <delete dir="${build.dir}"/> </target> <target name="compile" depends="clean" description="Compile sources"> <mkdir dir="${build.dir}/classes"/> <javac srcdir="${src.dir}" destdir="${build.dir}/classes" includeantruntime="false"/> </target> <target name="jar" depends="compile" description="Package the jar"> <mkdir dir="${build.dir}/jar"/> <jar destfile="${build.dir}/jar/DemoApp.jar" basedir="${build.dir}/classes"> <manifest> <attribute name="Main-Class" value="com.guru99.Main"/> </manifest> </jar> </target> </project>
आउटपुट:
Buildfile: C:\projects\DemoApp\build.xml
clean:
[delete] Deleting directory C:\projects\DemoApp\build
compile:
[mkdir] Created dir: C:\projects\DemoApp\build\classes
[javac] Compiling 3 source files to C:\projects\DemoApp\build\classes
jar:
[mkdir] Created dir: C:\projects\DemoApp\build\jar
[jar] Building jar: C:\projects\DemoApp\build\jar\DemoApp.jar
BUILD SUCCESSFUL
Total time: 1 second
अपाचे एंट बनाम मेवन बनाम Gradle
तीन निर्माण उपकरण प्रमुख भूमिका निभाते हैं Java पारिस्थितिकी तंत्र में, प्रत्येक इस बात पर अलग-अलग रुख अपनाता है कि कितनी संरचना लागू की जाए।
| प्राचल | अपाचे चींटी | Apache Maven | Gradle |
|---|---|---|---|
| बिल्ड स्क्रिप्ट प्रारूप | एक्सएमएल | एक्सएमएल | Groovy या कोटलिन डीएसएल |
| दृष्टिकोण | प्रक्रियात्मक रूप से, आप प्रत्येक चरण को परिभाषित करते हैं। | घोषणात्मक, विन्यास पर परंपरा | स्क्रिप्टेड एक्सटेंशन के साथ घोषणात्मक |
| निर्भरता प्रबंधन | यह अंतर्निहित नहीं है, इसे अपाचे आइवी के माध्यम से जोड़ा गया है। | केंद्रीय भंडार के साथ निर्मित | अंतर्निहित, मेवन के साथ संगत |
| परियोजना की संरचना | पूरी तरह से मुक्त | निश्चित मानक लेआउट | परंपरा आधारित लेकिन ओवरराइड करने योग्य |
| वृद्धिशील निर्माण | सीमित | सीमित | हां, बिल्ड कैश के साथ |
| सीखने की अवस्था | XML उपयोगकर्ताओं के लिए कम | मध्यम | अधिक ढलान वाला, डीएसएल की आवश्यकता है |
| के लिए सबसे उपयुक्त | विरासत परियोजनाएं और अत्यधिक अनुकूलित निर्माण | स्टैण्डर्ड Java परियोजनाओं | बड़े मल्टी-मॉड्यूल और Android परियोजनाओं |
जब कोई बिल्ड मानक लेआउट में फिट नहीं होता है, या जब कोई मौजूदा प्रोजेक्ट पहले से ही हाथ से लिखे गए लक्ष्यों पर निर्भर करता है, तो एंट एक व्यावहारिक विकल्प बना रहता है।
अपाचे एंट का उपयोग करने के सर्वोत्तम अभ्यास
यहां अपाचे एंट का उपयोग करने के कुछ सर्वोत्तम तरीके दिए गए हैं।
- आपको प्रॉपर्टी फ़ाइलों का उपयोग करके बिल्ड नंबरिंग को स्वचालित करना चाहिए।
- डिफ़ॉल्ट और बिल्ड प्रॉपर्टी फ़ाइलों की मदद से एक कॉन्फ़िगर करने योग्य बिल्ड लागू करें। ये फ़ाइलें आपको ऐसी प्रॉपर्टीज़ स्टोर करने की अनुमति देती हैं जो आपकी बिल्ड प्रक्रिया के लिए डेटा परिभाषित करती हैं, जैसे कि कंपाइलर संस्करण और ऑप्टिमाइज़ेशन सेटिंग्स।
- आप लाइब्रेरी प्रॉपर्टी फ़ाइलों का उपयोग करके पूर्वनिर्मित लाइब्रेरीज़ का पुनः उपयोग कर सकते हैं।
- प्रत्येक लक्ष्य को एक विवरण विशेषता दें, ताकि
ant -projecthelpयह बिल्ड का एक उपयोगी सारांश प्रस्तुत करता है। - क्लीन टारगेट को अलग रखें, और कभी भी ऐसी डायरेक्टरी को डिलीट न करें जिसमें सोर्स फाइलें भी हों।
अपाचे एंट का उपयोग करने के लाभ
अपाचे एंट का उपयोग करने के ये फायदे हैं:
- Ant प्लेटफॉर्म-न्यूट्रल है, इसलिए यह आपको फ़ाइल विभाजकों जैसी प्लेटफॉर्म-केंद्रित विशेषताओं को प्रबंधित करने में मदद करता है।
- Ant आपको प्लेटफ़ॉर्म-विशिष्ट कार्य करने की अनुमति देता है, जैसे कि 'touch' कमांड का उपयोग करके किसी फ़ाइल के संशोधित समय को बदलना।
- Ant स्क्रिप्ट सरल भाषा का उपयोग करके लिखी जाती हैं। एक्सएमएलइसलिए, यदि आप पहले से ही XML से परिचित हैं, तो आप Ant को जल्दी सीख पाएंगे।
- Ant पूर्वनिर्धारित कार्यों की एक विस्तृत सूची प्रदान करता है।
- यह डेवलपर्स के लिए एक इंटरफ़ेस प्रदान करता है।ping अनुकूलित कार्य।
- आप कमांड लाइन से आसानी से एंट को शुरू कर सकते हैं, जिससे मुफ्त और व्यावसायिक आईईडी के साथ एकीकरण संभव हो जाता है।
- आपको केवल एक JVM की आवश्यकता है, इसलिए यह कहीं भी चल सकता है जहाँ JVM उपलब्ध हो।
- अपाचे एंट एक ओपन सोर्स लाइब्रेरी है जो उपयोगकर्ताओं को सोर्स कोड तक पहुंचने और उसे पुनरुत्पादित करने की अनुमति देती है।
- अपाचे एंट एक क्रॉस-प्लेटफ़ॉर्म टूल है जो आपको निम्नलिखित कार्यों को संभालने की अनुमति देता है: Java क्लासपाथ और फ़ाइल निर्देशिका संरचना को किफायती तरीके से उपयोग करना।
- अपाचे एंट का उपयोग करके आसानी से विस्तार किया जा सकता है Java और अन्य प्रोग्रामिंग भाषाएँ।
- Apache Ant, J2EE डेवलपमेंट के लिए अंतर्निहित समर्थन प्रदान करता है, जैसे कि EJB संकलन और पैकेजिंग।
- इसका उपयोग आप किसी छोटे व्यक्तिगत प्रोजेक्ट के साथ-साथ किसी बड़े सॉफ्टवेयर प्रोजेक्ट या वेबसाइट के लिए भी कर सकते हैं।
Ant को अक्सर टेस्ट रनर और कंटीन्यूअस इंटीग्रेशन सर्वर के साथ जोड़ा जाता है। देखें JUnit परीक्षण परत के लिए, Jenkins निर्धारित बिल्ड के लिए, और अपाचे एंट का उपयोग करते हुए Selenium ब्राउज़र परीक्षण स्वचालन के लिए। बिल्ड के दौरान तैयार की गई रिपोर्टों को प्रस्तुत किया जा सकता है। JasperReports.













