सवाल डेबियन / उबंटू पर जावा-एचओएमई कैसे निर्धारित करें?


उबंटू पर एक ही समय में एकाधिक जेवीएम होना संभव है। डिफ़ॉल्ट एक के साथ चुना गया है update-alternatives। लेकिन यह सेट नहीं है JAVA_HOME पर्यावरण परिवर्तनीय, ए के कारण डेबियन नीति

मैं एक लॉन्चर स्क्रिप्ट (बैश) लिख रहा हूं, जो जावा एप्लिकेशन शुरू करता है। इस जावा आवेदन की जरूरत है JAVA_HOME वातावरण विविधता। तो वर्तमान में चुने गए जेवीएम का मार्ग कैसे प्राप्त करें update-alternatives?


90
2018-05-20 15:09


मूल




जवाब:


जेआरई के लिए, इस तरह की कुछ चाल चलनी चाहिए:

JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

133
2018-05-20 17:55



मुझे जेआरई के बजाय जेडीके के घर की जरूरत थी, लेकिन मुझे इसका उपयोग करना पड़ा: JAVA_HOME = $ (readlink -f / usr / bin / javac | sed "s: bin / javac ::") धन्यवाद! - Witek
जब मैंने आदेश की कोशिश की echo $(readlink -f /usr/bin/java | sed "s:bin/java::")आउटपुट था /usr/lib/jvm/java-7-oracle/jre/ और नहीं /usr/lib/jvm/java-7-oracle/ - Sumit Ramteke
कोड दिया गया rsaddey सही ढंग से काम करता है - Sumit Ramteke


आवश्यकतानुसार जेडीके (यानी जेआरई नहीं) पथ को पुनः प्राप्त करने के लिए दानदम का समाधान आसानी से अपनाया जा सकता है:

JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")
  • JDK जावा कंपाइलर (जावा के बजाए) जेडीके में शामिल है (लेकिन जेआरई नहीं) के लिए लगता है।
  • कोई पीछे नहीं है / (sed s द्वारा बंद कर दिया गया है: / bin ... s के बजाय: bin ...)

43
2018-06-02 08:44





export JAVA_HOME=$(dirname $(dirname $(readlink -f /usr/bin/java)))

में .bashrc मेरे लिए आसान था।


12
2018-04-25 09:34





तो, आप कह रहे हैं कि यह आदेश आपके लिए कुछ भी नहीं करता है?

sudo update-alternatives --config java 

9
2018-05-20 15:14



क्या यह आपके JAVA_HOME को सेट करने का अनुमान है? मैंने पाया है कि अपडेट-जावा-विकल्प जावा को अपडेट करने का एक बेहतर तरीका है क्योंकि अद्यतन-विकल्प सभी जावा संबंधित विकल्पों को अपडेट नहीं करते हैं। देख askubuntu.com/questions/141791 - James McMahon
सच है, लेकिन मुझे लिनक्स के उदाहरण सामने आए हैं जिनमें अद्यतन-विकल्प थे लेकिन अद्यतन-जावा-विकल्प स्थापित नहीं थे। - djangofan


मैंने जावा स्थापित किया

sudo apt-get install openjdk-7-jre-headless

और फिर स्थान खोजने के लिए

ls -al /etc/alternatives/java

3
2018-03-05 03:40





दानदम्स के विस्तार के रूप में उत्तर:

सबसे पहले, "जावा" की प्राथमिकता के साथ, दूसरा जावा जेआरई 3 जावा विकल्प के रूप में स्थापित करें:

sudo alternatives --install /usr/lib/jvm/jre jre /opt/IBM/java/jre/bin/java 3

फिर, आप उन्हें सूचीबद्ध कर सकते हैं:

update-alternatives --list java

आप इसका उपयोग करके वैकल्पिक रूप से हाथ सेट कर सकते हैं:

sudo alternatives --config java /opt/IBM/java/jre/bin/java

फिर, आपकी स्क्रिप्ट इसे फ्लाई पर सेट कर सकती है, जैसे:

sudo alternatives --set java /opt/IBM/java/jre/bin/java
JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

यह बेहतर दिखाता है कि 'sed' कमांड क्या कर रहा है। यद्यपि आपको अभी भी जवा और जावैक आदि के लिए लिंक सेट करने की आवश्यकता है, साथ ही, प्रत्येक ने अलग से किया है।


2
2018-03-02 16:40





कुछ समय पहले मैंने जावा वेबसाइट से नवीनतम जेआरई / जेडीके को स्थापित करने के तरीके पर उबंटू मंच पर एक ट्यूटोरियल बनाया था। यह पीएटीएच वैरिएबल में जेआरई / जेडीके स्थान जोड़ कर सिस्टम-वाइड को सक्षम करने के तरीके पर भी शामिल है। यदि आप चाहें, तो आप विषय के अंत में वर्णित स्क्रिप्ट में JAVA_HOME भी जोड़ सकते हैं।

इसकी जांच - पड़ताल करें: http://ubuntuforums.org/showthread.php?t=1437100


1
2018-05-20 18:47