जावा के लिए JAVA_HOME कैसे सेट करें?


303

मैंने जावा का एक संस्करण स्थापित किया है। हम $JAVA_HOMEपर्यावरण चर को सही तरीके से कैसे सेट कर सकते हैं ?

जवाबों:


422

आप अपने सेट कर सकते हैं JAVA_HOMEमें /etc/profileके रूप में Petronilla Escarabajo पता चलता है। लेकिन JAVA_HOMEकिसी भी सिस्टम वैरिएबल के लिए पसंदीदा स्थान है /etc/environment

/etc/environmentकिसी भी टेक्स्ट एडिटर को खोलें nanoया geditनिम्न पंक्ति जोड़ें:

JAVA_HOME="/usr/lib/jvm/open-jdk"

(जावा पथ अलग हो सकता है)

sourceइस कमांड को चलाकर, चर को लोड करने के लिए उपयोग करें :

source /etc/environment

फिर इस कमांड को चलाकर वेरिएबल को चेक करें:

echo $JAVA_HOME

अपडेट करें

आमतौर पर अधिकांश लिनक्स सिस्टम स्रोत / आदि / पर्यावरण डिफ़ॉल्ट रूप से। यदि आपका सिस्टम ऐसा नहीं करता है, तो निम्न पंक्ति को इसमें जोड़ें ~/.bashrc(धन्यवाद @ पीजे)

source /etc/environment

2
जब मैंने Android Studio (जिसमें IntelliJ IDEA एक आधार के रूप में है) चलाने की कोशिश की, तो मुझे @ अधिवक्ता: @ 'tools.jar' के समान एक त्रुटि संदेश मिला, जो Android Studio classpath में नहीं है। " सफलता के बिना JAVA_HOME के ​​साथ बहुत कुछ करने के बाद, मैंने स्टूडियो स्टूडियो पर एक नज़र डालने का फैसला किया, जो शेल्टरस्क्रिप्ट है जो एंड्रॉइड स्टूडियो शुरू करता है। एक जंगली अनुमान के रूप में, मैंने JDK_HOME को JAVA_HOME, और वॉइला के लिए अपेक्षित मान पर सेट किया! यह बड़ी समस्याओं के बिना स्थापित किया गया।
हिल्टन फर्नांडिस

3
सॉफ़्टवेयर डेवलपमेंट करने वालों के लिए, अपने JAVA_HOME को / etc / वातावरण में न डालें, जब तक कि आप हर उस समय को रिबूट नहीं करना चाहते जब तक आप JDK संस्करणों को स्विच नहीं करते।
HDave

2
यह एक अस्थायी समाधान है, जैसा कि अन्य ने बताया है। हर बार अपने बैश को फिर से शुरू करने के लिए कोई भी स्रोत नहीं चलाना चाहेगा।
युरानोस87

6
जैसा कि अन्य ने बताया है, यह टर्मिनल सत्रों के बीच नहीं रहता है। मैंने इसे संबोधित करने के लिए क्या किया है बस source /etc/environmentमेरे बैश कॉन्फिग फ़ाइल के शीर्ष पर लाइन को जोड़ा गया है ~/.bashrcताकि यह स्टार्टअप पर मेरे सभी पर्यावरण सेटिंग्स को लोड करे। मेरे लिए अब तक का काम।
पीजे

2
@ भीडुलम I ने जवाब अपडेट किया
मनुला वैद्यनाथ

79

JAVA_HOMEपर्यावरण चर सेट करने के लिए, निम्नलिखित करें:

  1. दबाकर टर्मिनल लॉन्च Ctrl+ Alt+ Tअपने कीबोर्ड पर।
  2. निम्नलिखित कमांड दर्ज करें:
    $gksudo gedit /etc/environment
  3. इस आधार पर कि आपने अपना जावा कहां स्थापित किया है, आपको पूरा रास्ता प्रदान करना होगा। इस उदाहरण के लिए, मैंने Oracle JDK 7 को /usr/lib/jvm/java-7-oracleडायरेक्टरी में स्थापित किया ।
    फ़ाइल के अंत तक स्क्रॉल करें और निम्नलिखित दर्ज करें:
    JAVA_HOME=/usr/lib/jvm/java-7-oracle
    export JAVA_HOME
  4. अपनी फ़ाइल सहेजें और gedit से बाहर निकलें ।
  5. अंत में, सिस्टम PATH को निम्न कमांड के साथ पुनः लोड करें:
    $. /etc/environment

उपरोक्त विधि आपके कंप्यूटर में लॉग इन करने पर हर बार कमांड चलाने में परेशानी से बचाएगी।


5
कैसे । / आदि / पर्यावरण कार्य?
सुदीप भंडारी

1
क्या exportकमांड को जोड़ना आवश्यक है /etc/environment?
पैरामोल

@pkaramol मुझे 16.04LTS पर निर्यात JAVA_HOME जोड़ना है ताकि इसे स्टार्टअप पर लोड किया जा सके।
एडिन-एस

3
@ adeen-s आपने exportएक पंक्ति में जोड़ा /etc/environmentऔर इससे मदद मिली? उस फ़ाइल में चर परिभाषाएँ होती हैं जिन्हें =-delimited नाम-मूल्य जोड़े के रूप में रखा जाता है ; इसकी सामग्री को कमांड के रूप में निष्पादित नहीं किया गया है। (देखें man pam_env।) इसलिए जब तक आप अलग से फ़ाइल का इलाज नहीं कर रहे हैं क्योंकि यह एक स्क्रिप्ट थी (जैसे कि /etc/environmentबैश ./ sourceबिलिन में जाने से), मुझे उम्मीद नहीं होगी कि यह काम करेगा।
एलिया कागन

> कैसे करता है / आदि / पर्यावरण कार्य? - (डॉट) एक फ़ाइल से आदेशों को लोड करता है askubuntu.com/a/232938/189965
रोमन बेक्किवे

37

यदि आपको रास्ता नहीं पता है और आपके पास केवल ओपनजेडके स्थापित है, तो आप टाइप कर सकते हैं update-alternatives --config javaऔर आपको रास्ता खोजना चाहिए। वैरिएबल सेट करने के लिए आप JAVA_HOME=<PATH>उसके बाद लिख सकते हैं export JAVA_HOME। ध्यान दें कि चर घोषित करते समय कोई स्थान नहीं है। यह जाँचने के लिए कि क्या चर संग्रहित है या नहीं, आप केवल echo $JAVA_HOMEसत्यापित करने के लिए टाइप करें।


ऐसा लगता है कि यह स्थिर होगा। यदि मैं Openjdk-7 को हटाता हूं और Openjdk-9 स्थापित करता हूं, तो JAVA_HOME नहीं होगा तो गलत जगह पर इंगित करेगा? इसे गतिशील कैसे बनाया जा सकता है?
डेविड

3
आप स्वयं इसे बदलकर। एक बार फिर, आप इस तरह से गतिशील हो जाते हैं ....
19

@HDave का अर्थ यह है कि कुछ मामलों में, आप JAVA_HOME को एक विशिष्ट जावा संस्करण की ओर संकेत कर सकते हैं, इसलिए JAVA_HOME के ​​अपडेट को गतिशील बनाना वह नहीं हो सकता जो आप चाहते हैं।
मेसिएज

मुझे यह जवाब पसंद है। मैंने प्रतिध्वनि के साथ परीक्षण किया और अपना मार्ग देखा। हालाँकि, मैं उलझन में हूँ कि मुझे अभी भी JAVA_HOME पर्यावरण चर क्यों नहीं मिल रहा है जब मैं mvan -version चलाता हूँ
विन्नमूका

1
मैंने यह जवाब वापस तब लिखा जब मैं अधिक अज्ञानी था। जैसा कि वर्णित है वैरिएबल सेट करना केवल आपके वर्तमान टर्मिनल सत्र को प्रभावित करेगा, और इसे बरकरार नहीं रखा जाएगा। सही तरीके से चलाने के लिए है update-alternatives --install <link> <name> <target> <priority> उदाहरण के लिए:update-alternatives --install /usr/bin/java java /usr/lib/jvm/default-runtime/bin/java 1
त्रुटि
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.