Ubuntu में मेरे वर्तमान JAVA_HOME को कैसे खोजें?


55

Ubuntu में मेरे वर्तमान JAVA_HOME को कैसे खोजें? मुझे मावेन स्थापित करते समय java_home पथ सेट करना होगा।

जवाबों:


84

टर्मिनल में टाइप करें,

echo $JAVA_HOME

JAVA_HOME चर पथ प्रदर्शित करें।

अगर ऐसा नहीं है तो इसे अपने साथ ले जाएं

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

यह आपके JDK प्रकार और संस्करण के अनुसार अलग-अलग होगा

पहले आदेश का पालन करने के लिए।

अलग JDK का उपयोग करने के लिए इस पोस्ट का अनुसरण करें या JDK के बीच स्विच करें


यह "/ usr / lib / jvm / java-6-sun" देता है। लेकिन मैंने जावा 7 स्थापित किया है। जब मैं इसे "जावा-वर्जन" का उपयोग करके जांचता हूं तो यह जावा संस्करण "1.7.0_45" जावा (टीएम) एसई रनटाइम एनवायरनमेंट (बिल्ड 1.7.0_45-बी 18) जावा हॉटस्पॉट (टीएम) सर्वर वीएम (बिल्ड) देता है। २४.४५-बी ०0, मिश्रित विधा)
चतुरंगा

2
तब JAVA_HOME चर सेट करने के लिए दूसरी कमांड निष्पादित करें। नोट:JAVA_HOME doesn't make jdk default, it just makes JAVA_HOME variable set to a path & if you want to use different jdk installed on same machine then check my answer, I have edited it.
दीपन

आपको इसे / etc / वातावरण में सेट करना चाहिए
कीकी

@ जैक्स-एल लेकिन अब जब मैं इको JAVA_HOME देता हूं तो यह सिर्फ "JAVA_HOME" के रूप में प्रदर्शित होता है। मैंने जो रास्ता दिखाया वह प्रदर्शित नहीं हो रहा है ... ???
समीथा चतुरंगा

2
निर्यात केवल तब तक काम करता है जब तक आप पुनः आरंभ नहीं करते। या आप .bashrc लॉगिन स्क्रिप्ट में निर्यात जोड़ते हैं। लेकिन इस तरह के पर्यावरण चर सेट करने का सही तरीका / etc / पर्यावरण है
कीकी

34

यदि आपके पास JDK 1.6 (जावा 6 के अनुरूप) या एक नया संस्करण स्थापित है, तो आपके पास jrunscriptआपके नाम का एक प्रोग्राम होना चाहिए PATH। आप इसी को खोजने के लिए इसका उपयोग कर सकते हैं JAVA_HOME। उदाहरण:

$ jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));'
/opt/local/jdk1.7.0_76/jre

आप इस तरह पर्यावरण चर सेट कर सकते हैं:

$ export JAVA_HOME="$(jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));')"

ध्यान दें कि JRE में शामिल नहीं है jrunscript, इसलिए यह केवल तभी काम करेगा जब आप JDK को स्थापित करेंगे, न कि केवल JRE को।


यह पता लगाने के लिए बहुत कुछ था कि मुझे एक निर्देशिका को गहराई से जाने की आवश्यकता है, लेकिन धन्यवाद।
cnizzardini

15

JDK के निरपेक्ष पथ को निकालने के लिए एक और पोर्टेबल विकल्प है javac:

export JAVA_HOME=`type -p javac|xargs readlink -f|xargs dirname|xargs dirname`

अंत से हटाने के javacलिए dirnameदो बार निरपेक्ष मार्ग पारित किया जाता है /bin/javac। निर्देशिका का पूरा निष्कर्षण इस प्रकार है:

$ type -p javac
/usr/bin/javac

$ readlink -f /usr/bin/javac
/usr/lib/jvm/java-8-oracle/bin/javac

$ dirname /usr/lib/jvm/java-8-oracle/bin/javac
/usr/lib/jvm/java-8-oracle/bin/

$ dirname /usr/lib/jvm/java-8-oracle/bin/
/usr/lib/jvm/java-8-oracle/

1
एक type -p javac|xargs readlink -f|xargs dirname|xargs dirname(निर्यात भाग के बिना) निर्देशिका का उपयोग करने के लिए इसे स्थापित किए बिना पता कर सकते हैं।
मीना माइकल

ठीक वही जो मेरे द्वारा खोजा जा रहा था! शानदार जवाब!
सिल्वियू बर्किया

7

अद्यतन-विकल्प तंत्र को ध्यान में रखना:

$ update-alternatives --query java | grep 'Value: ' | grep -o '/.*/jre'

आप इस तरह पर्यावरण चर सेट कर सकते हैं:

$ export JAVA_HOME="$(update-alternatives --query java | grep 'Value: ' | grep -o '/.*/jre')"

यह काफी JAVA_HOME नहीं देता क्योंकि यह अभी भी अनुगामी होगा /jre। आप कोशिश कर सकते हैंexport JAVA_HOME="$(update-alternatives --query java | grep 'Value: ' | sed -e 's/Value: //;s?/jre/bin/java??;')"
जेम्स ब्रुसे जूल

7

बस एक कमांड चलाते हैं

 sudo update-alternatives --config java

यह कुछ ऐसा देगा

Es gibt nur eine Alternative in Link-Gruppe java (die /usr/bin/java bereitstellt): /usr/lib/jvm/java-8-oracle/jre/bin/java

इससे आपके पास / usr / lib / jvm / java-8-oracle / as java home है। अब आप इसे JAVA_HOME चर पर निर्यात कर सकते हैं

export JAVA_HOME=/usr/lib/jvm/java-8-oracle/

अब इको $ JAVA_HOME दिखाएं


1

मैं इसका उपयोग Ubuntu LTS (14.04 / 16.04) में करता हूं:

[ -L /etc/alternatives/java ] && 
  export JAVA_HOME="$(readlink -f /etc/alternatives/java | sed -e 's/\/jre\/bin\/java$//')"

1

जावा पर्यावरण चर सेट करें

PPA में जावा वातावरण चर को स्वचालित रूप से सेट करने के लिए एक पैकेज शामिल है, बस कमांड चलाएँ:

sudo apt install oracle-java8-set-default

इस लेख से: Ubuntu 16.04, लिनक्स टकसाल 18 में ओरेकल जावा 8/9 स्थापित करें


0

जावा 9 और बाद के लिए:

यह उत्तर https://askubuntu.com/a/657468/963java.home सिस्टम प्रॉपर्टी को प्रिंट करने के लिए संलग्न नैशर्न जावास्क्रिप्ट इंजन नैशोर्न का उपयोग करता है । नैशॉर्न को अपदस्थ किया जा रहा है, इसलिए jshellजावा 9 में एक विकल्प का उपयोग किया जाना है।

echo 'System.out.println(java.lang.System.getProperty("java.home"));' | jshell  -

जो मेरे Ubuntu 18.10 सिस्टम पर प्रिंट करता है:

/usr/lib/jvm/java-11-openjdk-amd64
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.