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


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


249
2017-08-13 22:31


मूल




जवाब:


आप अपना सेट कर सकते हैं 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

345
2017-08-14 02:17



मुझे मिल रहा है: जेडीके आवश्यक: 'tools.jar' आईडीईए क्लासपाथ में नहीं है। JREA_HOME जेआरई के बजाय जेडीके को इंगित करें। - anon58192932
@advocate - आपको इसके लिए अपना स्वयं का प्रश्न पोस्ट करना चाहिए। लेकिन सुराग संदेश में है; आपको जेडीके पर जेआरई नहीं इंगित करने की जरूरत है। - David Edwards
जब मैंने एंड्रॉइड स्टूडियो चलाने की कोशिश की (जिसमें आधार के रूप में इंटेलिजे आईडीईए है), तो मुझे @ वकील के समान त्रुटि संदेश था: "tools.jar 'एंड्रॉइड स्टूडियो क्लासपाथ में नहीं है।" बिना सफलता के JAVA_HOME के ​​साथ बहुत कुछ करने के बाद, मैंने स्टूडियो.श, एक एंड्रॉइड स्टूडियो शुरू करने वाली शेलस्क्रिप्ट पर एक नज़र डालने का फैसला किया। एक जंगली अनुमान के रूप में, मैंने JAKAHHME को JAVA_HOME, और voila के लिए अपेक्षित वही मान पर सेट किया है! यह बिना किसी बड़ी समस्या के स्थापित किया। - Hilton Fernandes
सॉफ्टवेयर विकास करने वाले लोगों के लिए, जब तक आप जेडीके संस्करणों को स्विच करते समय हर बार रीबूट करना नहीं चाहते हैं, तब तक अपने JAVA_HOME को / etc / वातावरण में न रखें। - HDave
जैसा कि अन्य ने बताया है, यह टर्मिनल सत्रों के बीच नहीं टिकता है। मैंने इसे संबोधित करने के लिए क्या किया है बस लाइन जोड़ दी है source /etc/environment मेरी बैश कॉन्फ़िगरेशन फ़ाइल के शीर्ष पर ~/.bashrc ताकि स्टार्टअप पर यह मेरी सभी पर्यावरण सेटिंग्स लोड हो। अब तक मेरे लिए काम करना - pje


स्थापित करना JAVA_HOME पर्यावरण परिवर्तनीय, निम्न कार्य करें:

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

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


67
2017-08-13 23:01



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


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


30
2017-08-18 21:29



ऐसा लगता है कि यह स्थिर होगा। अगर मैं openjdk-7 को हटाता हूं और openjdk-9 स्थापित करता हूं, तो क्या JAVA_HOME गलत जगह पर इंगित नहीं करेगा? इसे गतिशील कैसे बनाया जा सकता है? - DavidJ
मैन्युअल रूप से इसे बदलकर। एक बार फिर, आप जिस तरह से गतिशील हो जाते हैं .... - HDave
@HDave का अर्थ यह है कि कुछ मामलों में, आप JAVA_HOME को एक विशिष्ट जावा संस्करण को इंगित करने के लिए चाहते हैं, इसलिए JAVA_HOME गतिशील का अद्यतन करना आप जो चाहते हैं वह हो सकता है। - Maciej
मुझे यह जवाब पसंद है। मैंने गूंज के साथ परीक्षण किया और अपना रास्ता देखा। हालांकि, मैं उलझन में हूं कि मुझे अभी भी क्यों मिल रहा है JAVA_HOME जब मैं mvn -version चलाता हूं तो पर्यावरण चर सेट नहीं होता है - Winnemucca
जब मैं अधिक अज्ञानी था तो मैंने यह जवाब वापस लिखा था। वर्णित चर को सेट करना केवल आपके वर्तमान टर्मिनल सत्र को प्रभावित करेगा, और जारी नहीं रहेगा। सही तरीका चलाने के लिए है update-alternatives --install <link> <name> <target> <priority>  उदाहरण के लिए: update-alternatives --install /usr/bin/java java /usr/lib/jvm/default-runtime/bin/java 1 - Erro