मैं कुछ प्रकार के बिल्ड टूल ( चींटी या मावेन , चींटी का पहले से ही सुझाव दिया गया है और इसके साथ शुरू करना आसान है) या एक आईडीई का उपयोग करने का सुझाव देता हूं जो संकलन को संभालता है (ग्रहण कार्यनीति रणनीति के साथ वृद्धिशील संकलन का उपयोग करता है, और आपके पास भी नहीं है किसी भी "संकलन" बटन को दबाए रखने की देखभाल )।
जावाक का उपयोग करना
यदि आपको किसी बड़ी परियोजना के लिए कुछ करने की आवश्यकता है और पास में कोई उचित निर्माण उपकरण नहीं है, तो आप हमेशा एक छोटी सी चाल का उपयोग कर सकते हैं जो javac
प्रदान करता है: संकलन करने के लिए क्लासनाम को एक फ़ाइल में निर्दिष्ट किया जा सकता है। आपको बस उपसर्ग के javac
साथ फाइल का नाम देना होगा @
।
यदि आप *.java
अपने प्रोजेक्ट की सभी फाइलों की सूची बना सकते हैं , तो यह आसान है:
# Linux / MacOS
$ find -name "*.java" > sources.txt
$ javac @sources.txt
:: Windows
> dir /s /B *.java > sources.txt
> javac @sources.txt
- फायदा यह है कि यह एक त्वरित और आसान उपाय है।
- दोष यह है कि आपको
sources.txt
हर बार एक नया स्रोत बनाने के लिए फाइल को फिर से तैयार करना पड़ता है या किसी मौजूदा एक फ़ाइल का नाम बदलना पड़ता है, जिसे भूलना आसान है (इस प्रकार त्रुटि-प्रवण) और थकाऊ कार्य।
बिल्ड टूल का उपयोग करना
लंबे समय तक एक उपकरण का उपयोग करना बेहतर होता है जिसे सॉफ्टवेयर बनाने के लिए डिज़ाइन किया गया था।
चींटी का उपयोग करना
यदि आप एक सरल build.xml
फ़ाइल बनाते हैं, जो बताती है कि सॉफ्टवेयर कैसे बनाया जाए:
<project default="compile">
<target name="compile">
<mkdir dir="bin"/>
<javac srcdir="src" destdir="bin"/>
</target>
</project>
आप निम्नलिखित कमांड को चलाकर पूरे सॉफ्टवेयर को संकलित कर सकते हैं:
$ ant
- लाभ यह है कि आप एक मानक बिल्ड टूल का उपयोग कर रहे हैं जो विस्तार करना आसान है।
- दोष यह है कि आपको एक अतिरिक्त टूल डाउनलोड करना, सेट अप करना और सीखना है। ध्यान दें कि अधिकांश IDE (जैसे NetBeans और Eclipse) बिल्ड फ़ाइलों को लिखने के लिए बहुत सहायता प्रदान करते हैं ताकि आपको इस मामले में कुछ भी डाउनलोड न करना पड़े।
मावेन का उपयोग करना
मावेन उस तुच्छ के साथ स्थापित करने और काम करने के लिए नहीं है, लेकिन इसे सीखना अच्छी तरह से भुगतान करता है। यहां 5 मिनट के भीतर एक परियोजना शुरू करने के लिए एक महान ट्यूटोरियल है ।
- यह मुख्य लाभ है (मेरे लिए) यह निर्भरता को भी संभालता है, इसलिए आपको किसी भी अधिक जार फ़ाइलों को डाउनलोड करने और उन्हें हाथ से प्रबंधित करने की आवश्यकता नहीं होगी और मुझे यह बड़ी परियोजनाओं के निर्माण, पैकेजिंग और परीक्षण के लिए अधिक उपयोगी लगा।
- दोष यह है कि इसमें एक सीखने की अवस्था है, और अगर मावेन प्लगइन्स त्रुटियों को दबाने के लिए पसंद करते हैं :-) एक और बात यह है कि काफी सारे उपकरण मावेन रिपॉजिटरी के साथ भी काम करते हैं (जैसे एसबीएटी के लिए स्काला, एंट के लिए आईवी , ग्रूवी के लिए ग्रैडल ) ।
एक आईडीई का उपयोग करना
अब जब आपकी विकास उत्पादकता बढ़ सकती है। कुछ खुले स्रोत विकल्प हैं (जैसे कि ग्रहण और नेटबीन्स , मैं पूर्व को पसंद करता हूं) और यहां तक कि वाणिज्यिक (जैसे इंटेलीजे ) जो काफी लोकप्रिय और शक्तिशाली हैं।
वे पृष्ठभूमि में प्रोजेक्ट बिल्डिंग का प्रबंधन कर सकते हैं ताकि आपको सभी कमांड लाइन के सामान से निपटना न पड़े। हालाँकि, यह हमेशा काम आता है यदि आप जानते हैं कि वास्तव में पृष्ठभूमि में क्या होता है तो आप कभी-कभार होने वाली त्रुटियों जैसे शिकार कर सकते हैं ClassNotFoundException
।
एक अतिरिक्त नोट
बड़ी परियोजनाओं के लिए, हमेशा एक आईडीई और एक बिल्ड टूल का उपयोग करने की सलाह दी जाती है । पूर्व आपकी उत्पादकता को बढ़ाता है, जबकि उत्तरार्द्ध परियोजना के साथ अलग-अलग आईडीई का उपयोग करना संभव बनाता है (उदाहरण के लिए, मावेन एक साधारण mvn eclipse:eclipse
कमांड के साथ एक्लिप्स प्रोजेक्ट डिस्क्रिप्टर उत्पन्न कर सकता है )। इसके अलावा, एक ऐसी परियोजना का होना, जिसका परीक्षण / निर्माण एक ही लाइन कमांड के साथ किया जा सकता है, नए सहयोगियों से परिचय करना आसान है और उदाहरण के लिए एक निरंतर एकीकरण सर्वर में। केक का टुकड़ा :-)