आप आमतौर पर अपने सिस्टम (यदि आप यूनिक्स हैं) पर पा सकते हैं जहां वास्तविक ant
कमांड which ant
या type ant
कर कर रहता है। यदि आप उस स्थान को देखते हैं, तो आप आमतौर पर देखेंगे कि यह $ANT_HOME
निर्देशिका के तहत वास्तविक ant
कमांड का एक लिंक है।
इस स्क्रिप्ट पर एक नज़र डालें। इसमें से अधिकांश बस यह निर्धारित करने की कोशिश कर रहे हैं कि $ANT_HOME
और $JAVA_HOME
निवास में डिफ़ॉल्ट रूप से सेट नहीं हैं या नहीं।
आप ant
खोल स्क्रिप्ट में नहीं दिख रहा है क्या है:
EXPORT JAVA_HOME
तो, भले ही $JAVA_HOME
ant
स्क्रिप्ट के अंदर सेट कर दिया जाता है, यह वातावरण में निर्यात किया कभी नहीं किया गया है (किसी ant
में संशोधन किया है, जब तक कि खोल स्क्रिप्ट . If an environment variable is not exported, it is unavailable to child processes -- like the
जावा child process running your
ant` प्रक्रिया।
इस प्रकार, यदि आप एक मशीन जहां $JAVA_HOME
ant
से पहले सेट नहीं है निष्पादित किया जाता है पर हैं, यह अपने निर्माण लिपि में उपलब्ध नहीं होगा।
हालांकि, एंटी और जावा दोनों (क्योंकि चींटी जावा प्रक्रिया है) एक पूरी तरह से डिफ़ॉल्ट गुणों का उपयोग करते हैं जिन्हें आप उपयोग कर सकते हैं। जब चींटी निष्पादित करता है तो यह own built in properties सेट करता है जिसमें ${ant.home}
जैसी चीजें शामिल होती हैं। और, जब जावा निष्पादित किया जाता है, तो जावा Java Properties की एक पूरी सूची भी सेट करता है जैसे ${java.home}
।
तो, यदि आपको वास्तव में यह जानना है कि आपकी JAVA_HOME निर्देशिका कहां स्थित है, तो संपत्ति ${java.home}
का उपयोग करें और पर्यावरण चर $JAVA_HOME
पर निर्भर नहीं है।
आप इन गुणों की एक सूची प्राप्त करना चाहते हैं, तो निम्न चींटी निर्माण फ़ाइल को चलाने:
<project>
<echoproperties/>
</project>
स्रोत
2013-07-10 14:05:45
JAVA_HOME सेट नहीं है, तो यह कैसे के लिए संभव था परियोजना का निर्माण करने की? (यह एक जावा प्रोजेक्ट है) –
चींटी को आपको 'JAVA_HOME' सेट करने की आवश्यकता नहीं है (जैसा कि आपने पाया होगा क्योंकि आप अपनी बिल्ड फ़ाइल को मशीनों पर भी निष्पादित करने में सक्षम थे, जहां 'JAVA_HOME' सेट नहीं किया गया था) –
ठीक है अब यह समझ में आता है । धन्यवाद –