2011-02-11 13 views
6

जब मैं ग्रहण के माध्यम से चींटी चलाता हूं तो कुछ लक्ष्य ठीक बनाते हैं, लेकिन जिन लोगों को एक विशिष्ट पर्यावरण चर यानी SOME_SDK की आवश्यकता होती है जो मैंने अपने .profile में सेट की है फाइल काम नहीं करेगी। यहां तक ​​कि अगर मैं $ {env.JAVA_HOME} को प्रतिबिंबित करने का प्रयास करता हूं, तो ग्रहण के माध्यम से चींटी केवल उस स्ट्रिंग को प्रिंट करेगी। लेकिन अगर मैं टर्मिनल (यानी चींटी अंतराल) के माध्यम से चींटी चलाता हूं, तो उसे जावा-एचओएमई और SOME_SDK मिल जाएगा और उन पथों को प्रतिबिंबित करें। मैंने ग्रहण की जांच की है कि यह मेरे पर्यावरण पथ (/usr/share/java/ant-1.8.1) में एक ही चींटी को इंगित कर रहा है। कोई विचार?ग्रहण के माध्यम से चींटी चलाना इसे पर्यावरण चर नहीं ढूंढता है, लेकिन टर्मिनल के माध्यम से चींटी चलाना ठीक है

धन्यवाद

उत्तर

18

जब आप टर्मिनल खोलते हैं, तो आपके .profile में पर्यावरण चर लोड हो जाते हैं। जब आप विंडोिंग सिस्टम के माध्यम से एक्लिप्स शुरू करते हैं तो यह आपके उपयोगकर्ता खाते के तहत नहीं चल रहा है, इसलिए आपका .profile रनटाइम पर ग्रहण के लिए उपलब्ध नहीं है।

कम से कम मेरे लिनक्स मशीन पर मामला है और मैं इसे मैक पर अनुमान लगा रहा हूं। मैंने पर्यावरण चर को रखा है जिसे ग्रहण/etc/प्रोफ़ाइल फ़ाइल में ग्रहण करने की आवश्यकता है, जो सिस्टम स्टार्टअप पर लोड हो जाता है।

+3

मैक पर, यह ~ ~/.MACOSX/environment.plist होगा ', http://developer.apple.com/qa/qa2001/qa1067 भी देखें।एचटीएमएल –

+0

प्रारंभ करने पर प्रोफ़ाइल पढ़ने वाली विंडोिंग प्रणाली के बारे में महान युक्ति - यह पता नहीं लगा सका कि परिवर्तन के बाद चीजें मेरे लिए क्यों नहीं काम करतीं। – SyBer

+0

यदि आपने ग्रहण शुरू करने के बाद env चर सेट किया है, तो ग्रहण को पुनरारंभ करें। ग्रहण में सीएमडी को बंद और फिर से खोलने के साथ ग्रहण नई env प्रोफ़ाइल लोड करेगा। – sura2k

10

आप अपने चींटी रन विन्यास में चर निर्दिष्ट कर सकते हैं (भागो>चींटी बिल्ड के रूप में ...>पर्यावरण टैब)।

+0

धन्यवाद मैंने वास्तव में इसे देखा और इसे काम करने में सक्षम था। लेकिन क्या आपको पता है कि ग्रहण ओएसएक्स में पर्यावरण चर क्यों नहीं उठाता है? उन्हें ग्रहण करने के लिए ग्रहण करने का कोई तरीका? – czer

+0

जीयूआई से लॉन्च किए गए ऐप्स, जैसे कि ग्रहण, लॉन्चक्टल से उनके चर का उत्तराधिकारी है। आप लॉन्चक्टल पर्यावरण को रूट के रूप में चलाकर सेट कर सकते हैं, "launchctl setenv " (देखें http://stackoverflow.com/a/3756686/218823) –

0

आपको क्या करना है java.exe को c: \ Windows \ System32 से हटा दें।

कारण आपके% PATH% पर्यावरण चर में है, इसमें c: \ Windows \ System32 है, जिसमें java.exe फ़ाइल है। यदि आप कमांड प्रॉम्प्ट से c:> जावा-वर्जन चलाते हैं, तो आप देखेंगे कि जो संस्करण आप चल रहे हैं वह jdk संस्करण से मेल नहीं खाता है।

एक बार ऐसा करने के बाद, आपको% PATH% पर्यावरण परिवर्तक में% JAVA_HOME%/bin जोड़ने की आवश्यकता होगी, ताकि आप ऐप्स चलाते समय javak से java.exe निष्पादित कर सकें। परिवर्तन को लेने की अपेक्षा करने से पहले किसी भी एप्लिकेशन (कमांड प्रॉम्प्ट सहित) को पुनरारंभ करना सुनिश्चित करें।

1

मुझे लगता है कि ग्रहण पर्यावरण कम से कम * निक्स वातावरण में थोड़ा खराब हो गया है। हालांकि केविन के मामले के समान, मुझे जो भी मिल रहा है वह यह है कि यद्यपि मैं एक अलग रन प्रोफाइल बनाता हूं और - सफलतापूर्वक परीक्षण/इंस्टॉल लक्ष्यों को चलाता हूं (यहां चींटी के बजाय मैवेन, लेकिन यह नगण्य शोर है), और JAVA_HOME पर्यावरण चर निर्दिष्ट करें उस रन प्रोफाइल के लिए, परियोजना पीओएम फ़ाइल को मान्य नहीं करती है।

  1. /etc/प्रोफ़ाइल दृष्टिकोण का उपयोग, या प्रणाली संपत्ति वहाँ सहित
  2. संपादित eclipse.ini फ़ाइल:

    सभी मैं कर रहा हूँ के साथ छोड़ दिया दो अलग-अलग विकल्प है।

मुझे लगता है कि बाद वाला एक क्लीनर वर्कअराउंड है क्योंकि यह एक कॉन्फ़िगरेशन फ़ाइल को प्रभावित करता है जो केवल बाद में समस्याग्रस्त एप्लिकेशन के लिए होता है। फिर भी, ग्रहण को उपयोगकर्ता के पथ में पाए गए चर का उपयोग करना चाहिए और हमें उत्पादन के लिए आसानी से छोड़ देना चाहिए :)

संबंधित मुद्दे