आप मैक पर जावा के डिफ़ॉल्ट संस्करण को कैसे बदल सकते हैं?
आप मैक पर जावा के डिफ़ॉल्ट संस्करण को कैसे बदल सकते हैं?
जवाबों:
पहला रन /usr/libexec/java_home -V
जो निम्नलिखित की तरह कुछ आउटपुट देगा:
Matching Java Virtual Machines (3):
1.8.0_05, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
1.6.0_65-b14-462, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-462, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
उस संस्करण को चुनें जिसे आप डिफ़ॉल्ट होना चाहते हैं ( 1.6.0_65-b14-462
तर्क के लिए) तब:
export JAVA_HOME=`/usr/libexec/java_home -v 1.6.0_65-b14-462`
या आप केवल प्रमुख संस्करण को निर्दिष्ट कर सकते हैं, जैसे:
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
अब जब आप दौड़ेंगे java -version
तो देखेंगे:
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)
export JAVA_HOME…
अपने शेल के इनिट फ़ाइल में लाइन जोड़ें ।
बैश के लिए (जैसा कि एंटोनीह ने कहा है ):
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
मछली के लिए (जैसा कि ऑर्मिन द्वारा कहा गया है)
set -x JAVA_HOME (/usr/libexec/java_home -d64 -v1.8)
export
लाइन बैकस्टिक्स है
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
- यह भी ध्यान दें, java_home आंशिक मैचों की अनुमति देता है ताकि आपको पूर्ण संस्करण शामिल नहीं करना पड़े क्योंकि यह नवीनतम स्थापित मिलेगा। इससे अपडेट आसान हो जाता है।
यह जवाब पता करने का एक प्रयास है: जावा संस्करण सिस्टम-वाइड (न केवल वर्तमान में चल रहे शेल में) को कैसे नियंत्रित किया जाए जब मैकड एल कैपिटान या नए (सिएरा, हाई सिएरा, मोजावे) पर विकास के उद्देश्यों के लिए जेडीके के कई संस्करण स्थापित किए जाते हैं । जहां तक मैं बता सकता हूं, वर्तमान उत्तरों में से कोई भी ऐसा नहीं करता है (*)।
एक डेवलपर के रूप में, मैं कई JDK का उपयोग करता हूं, और मैं एक से दूसरे में आसानी से स्विच करना चाहता हूं। आमतौर पर मेरे पास सामान्य उपयोग के लिए नवीनतम स्थिर है, और परीक्षण के लिए अन्य। लेकिन मैं नहीं चाहता कि सिस्टम "(जब मैं अपना आईडीई शुरू करता हूं)" अभी के लिए मेरे पास नवीनतम "शुरुआती पहुंच" संस्करण का उपयोग करें। मैं सिस्टम के डिफ़ॉल्ट को नियंत्रित करना चाहता हूं, और यह नवीनतम स्थिर होना चाहिए।
निम्न दृष्टिकोण जावा 7 से 12 के साथ काम करता है (कम से कम इस लेखन के समय जल्दी पहुंच), ओरेकल JDK या OpenJDK के साथ ( अक्टूबर 2018 के मध्य के बाद निर्मित AdoptOpenJDK द्वारा निर्मित सहित )।
/Library/Java/JavaVirtualMachines
। सिस्टम डिफ़ॉल्ट रूप से उच्चतम संस्करण चुन लेगा। Contents/Info.plist
के लिएInfo.plist.disabled
। उस $JAVA_HOME
बिंदु पर या स्क्रिप्ट या कॉन्फ़िगरेशन में स्पष्ट रूप से संदर्भित होने पर भी JDK का उपयोग किया जा सकता है। यह केवल सिस्टम के java
कमांड द्वारा नजरअंदाज कर दिया जाएगा ।सिस्टम लांचर उन JDK का उपयोग करेगा जिनके पास एक Info.plist
फ़ाइल है।
वैकल्पिक JDK के साथ एक शेल में काम करते समय, मौजूदा उत्तर (और jenv
, या कस्टम एलियास / स्क्रिप्ट /usr/libexec/java_home
आदि) के बीच अपना तरीका चुनें ।
जांच का विवरण इस सार में ।
(*) वर्तमान उत्तर या तो अप्रचलित हैं (अब MacOS El Capitan या Sierra के लिए मान्य नहीं हैं), या केवल एक JDK को संबोधित करते हैं, या सिस्टम-वाइड पहलू को संबोधित नहीं करते हैं। कई समझाते हैं कि कैसे बदलना है $JAVA_HOME
, लेकिन यह केवल वर्तमान शेल को प्रभावित करता है और वहां से क्या लॉन्च किया जाता है। यह OS लॉन्चर से शुरू होने वाले एप्लिकेशन को प्रभावित नहीं करेगा (जब तक कि आप सही फ़ाइल और लॉगआउट / लॉगिन नहीं बदलते हैं, जो थकाऊ है)। जेनव के लिए भी, यह शांत है और सभी है, लेकिन जहां तक मैं यह बता सकता हूं कि यह केवल पर्यावरण चर बदलता है, तो इसकी एक ही सीमा है।
jenv
न ही JAVA_HOME
सिस्टम-वाइड जावा संस्करण सेट करने में सक्षम हैं, अर्थात एक ग्रहण का उपयोग करेगा।
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/
। जाहिरा तौर पर यह वह है जो नया वरीयताएँ फलक लॉन्च करेगा - यह एकमात्र अपवाद है जो मैंने अपने समाधान के लिए पाया है: वह बात अभी भी JDK9 (नवीनतम मैं स्थापित) का उपयोग करेगा, लेकिन कोई अन्य जावा आवेदन नहीं करता है। "
उपरोक्त उत्तरों को जोड़ते हुए , मैंने निम्नलिखित पंक्तियों को अपने .bash_profile
(या .zshrc
MacOS 10.15+ के लिए) में डाल दिया है, जिससे इसे स्विच करना वास्तव में सुविधाजनक हो जाता है (जिसमें java 9 के लिए @ elektromin की टिप्पणी भी शामिल है):
alias j12="export JAVA_HOME=`/usr/libexec/java_home -v 12`; java -version"
alias j11="export JAVA_HOME=`/usr/libexec/java_home -v 11`; java -version"
alias j10="export JAVA_HOME=`/usr/libexec/java_home -v 10`; java -version"
alias j9="export JAVA_HOME=`/usr/libexec/java_home -v 9`; java -version"
alias j8="export JAVA_HOME=`/usr/libexec/java_home -v 1.8`; java -version"
alias j7="export JAVA_HOME=`/usr/libexec/java_home -v 1.7`; java -version"
डालने के बाद, निष्पादित करें $ source .bash_profile
मैं निम्नलिखित टाइप करके जावा 8 पर स्विच कर सकता हूं:
$ j8
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
alias j9="export JAVA_HOME=`/usr/libexec/java_home -v 9`; java -version"
alias j10="export JAVA_HOME=`/usr/libexec/java_home`; java -version"
और फिर टाइप करना j10
आपको जावा के वर्तमान संस्करण में वापस स्विच करने की अनुमति देता है (मेरे मामले में जावा 10)
nvm
जावा संस्करणों को स्विच करने के लिए एक समान उपकरण बनाऊंगा , लेकिन jvm
पहले से ही परिचित का मतलब कुछ और है :)
/Users/me/.zshrc:8: permission denied: /Library/Java/JavaVirtualMachines/openjdk-12.jdk/Contents/Home
/ Usr / libexec / java_home पर आधारित एक छोटी मछली का कार्य
function jhome
set JAVA_HOME (/usr/libexec/java_home $argv)
echo "JAVA_HOME:" $JAVA_HOME
echo "java -version:"
java -version
end
यदि आप मछली का उपयोग नहीं करते हैं, तो आप कुछ ऐसा ही कर सकते हैं:
#!/bin/bash
jhome () {
export JAVA_HOME=`/usr/libexec/java_home $@`
echo "JAVA_HOME:" $JAVA_HOME
echo "java -version:"
java -version
}
फिर javas do के बीच स्विच करने के लिए:
$> jhome #switches to latest java
$> jhome -v 1.7 #switches to java 1.7
$> jhome -v 1.6 #switches to java 1.6
export JAVA_HOME=(/usr/libexec/java_home $argv)
आपके jhome
फ़ंक्शन की दूसरी पंक्ति के बजाय लिखना था ।
यह थोड़ा मुश्किल है, लेकिन OS X 10.9 (Mavericks) पर जावा इंस्टॉल करने में वर्णित चरणों का पालन करने का प्रयास करें । असल में, आपको अपने उपनाम को अपडेट करना होगा java
।
क्रमशः:
JDK 1.7 को स्थापित करने के बाद, आपको sudo ln -snf
लिंक को वर्तमान में बदलने के लिए करना होगा java
। ऐसा करने के लिए, टर्मिनल खोलें और कमांड जारी करें:
sudo ln -nsf /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents \
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
ध्यान दें कि निर्देशिका jdk1.7.0_51.jdk
आपके द्वारा स्थापित एसडीके संस्करण के आधार पर बदल सकती है।
अब, आपको JAVA_HOME
यह इंगित करने की आवश्यकता है कि कहां jdk_1.7.0_xx.jdk
स्थापित किया गया था। फिर से टर्मिनल खोलें और टाइप करें:
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home"
आप अपने टर्मिनल में जावा को स्थायी रूप से रखने के लिए export JAVA_HOME
अपनी .bashrc
फाइल में ऊपर की लाइन जोड़ सकते हैं
JAVA_HOME
को मौजूदा टर्मिनल सत्र पर निर्यात किया जाएगा। आप चाहें .bashrc
तो इसे हमारे साथ जोड़ सकते हैं। मैं अंतिम संस्करण के लिए आदेशों को अनुकूलित करूंगा।
Jenv का प्रयोग एक आसान तरीका है।
1. इनस्टॉल जेनव
curl -s get.jenv.io | दे घुमा के
2. कोन्फिग जेनव
सीडी ~ / .जेनव / उम्मीदवार / mkdir जावा सीडी जावा mkdir 1.7 mkdir 1.8
3. jdk पथ को अलग करें
ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0.079/jdk/Contents/Home/bin ~ / .jenv / उम्मीदवार / जावा / 1.7। ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin ~ / .jenv / उम्मीदवार / जावा / 1.8।
4. आप सभी सेट हैं
स्विच कमांड:
jenv उपयोग जावा 1.8
डिफॉल्ट सेट करें:
jenv डिफ़ॉल्ट जावा 1.7
JDK स्थापित करें, न केवल JRE
/usr/libexec/java_home -v 1.8
देता है
/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
आगे
touch .bash_profile
open -a TextEdit.app .bash_profile
TextEdit आपको एक खाली पृष्ठ दिखाएगा जिसे आप भर सकते हैं।
डॉक्टर में जोड़ें:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
टर्मिनल में:
export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"
आदेश का प्रयास करें:
javac -version
उत्पादन करना चाहिए:
javac 1.8.0_111
tl; डॉ
लाइन जोड़ें:
export JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home'
फ़ाइल के लिए
~/.bash_profile
(अपने डाउनलोड किए गए संस्करण के साथ jdk1.8.0_144.jdk बदलें)
फिर source ~/.bash_profile
Jenv का उपयोग करें, यह एक जावा पर्यावरण प्रबंधक की तरह है। यह उपयोग और साफ करने के लिए सुपर आसान है
Mac के लिए, निम्न चरणों का पालन करें:
brew install jenv
git clone https://github.com/gcuisinier/jenv.git ~/.jenv
स्थापना: यदि आप bash का उपयोग कर रहे हैं तो इन चरणों का पालन करें:
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
जेवीएम के वांछित संस्करणों को जेनव में जोड़ें:
jenv add /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
jenv add /System/Library/Java/JavaVirtualMachines/1.8.0.jdk/Contents/Home
स्थापित संस्करणों की जाँच करें:
jenv versions
जावा संस्करण सेट करें जिसका आप उपयोग करना चाहते हैं:
jenv global oracle64-1.6.0
function setjdk() {
if [ $# -ne 0 ]; then
removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
if [ -n "${JAVA_HOME+x}" ]; then
removeFromPath $JAVA_HOME
fi
export JAVA_HOME=`/usr/libexec/java_home -v $@`
export PATH=$JAVA_HOME/bin:$PATH
fi
}
में रखते अपने ~ / .profile और इतने की तरह अपने टर्मिनल में इसका इस्तेमाल करते हैं setjdk 1.8
, setjdk 1.7
, setjdk 9
आदि आदि ...
यदि आपके पास नहीं है removeFromPath
तो यह है:
function removeFromPath() {
export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
}
डिफ़ॉल्ट प्रक्रिया का उपयोग करने वाले लोगों के लिए टर्मिनल का उपयोग करते हुए चार आसान चरण .. :)
echo $JAVA_HOME
आप वर्तमान जावा घर देता है। उदाहरण के लिए:/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/
cd /Library/Java/JavaVirtualMachines/
आपको उस फ़ोल्डर में ले जाएगा जहाँ आप सामान्य रूप से jdks स्थापित करते हैं (यह आपकी मशीनों के लिए भिन्न हो सकता है)
ls
शो आप उपलब्ध फ़ोल्डर (सामान्य रूप से यह संस्करण संख्याओं, जैसे के लिए करना होगा: jdk1.8.0_191.jdk openjdk-11.0.2.jdk
)export JAVA_HOME='/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home'
बदल जाएगा जावा घर ।।macOS El Capitan या नए में उपलब्ध JDK के उच्च संस्करण का चयन करेंगे /Library/Java/JavaVirtualMachines
, इसलिए डाउनग्रेड करने के लिए आप फ़ाइल Info.plist
को कुछ और तरह से नाम बदल सकते हैं Info.plist.disabled
ताकि OS पिछले संस्करण का चयन करे।
Apple के आधिकारिक java_home (1) मैन पेज से :
**USAGE**
/usr/libexec/java_home helps users set a $JAVA_HOME in their login rc files, or provides a way for
command-line Java tools to use the most appropriate JVM which can satisfy a minimum version or archi-
tecture requirement. The --exec argument can invoke tools in the selected $JAVA_HOME/bin directory,
which is useful for starting Java command-line tools from launchd plists without hardcoding the full
path to the Java command-line tool.
Usage for bash-style shells:
$ export JAVA_HOME=`/usr/libexec/java_home`
Usage for csh-style shells:
% setenv JAVA_HOME `/usr/libexec/java_home`
सबसे पहले यह पता करें कि आप पर्यावरण चर को कहाँ संग्रहीत करते हैं-
पर्यावरण चर सेट करने के लिए चरण: -
अब अपनी फ़ाइल में पर्यावरण चर सेट करें
ए। के लिए emacs.profile आप इस का उपयोग कर सकते लिंक या नीचे स्क्रीनशॉट देखें
ख। ZSH प्रोफ़ाइल सेटअप के लिए -
1. export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
2. source ~/.zshrc - Restart zshrc to reflect the changes.
3. echo $JAVA_HOME - make sure path is set up properly
----> /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
4. java -version
--> java version "1.8.0_112" Java(TM) SE Runtime Environment (build 1.8.0_112-b16)Java HotSpot(TM) 64-Bit Server VM (build 25.112-b16, mixed mode)
सभी सेट अब आप आसानी से उन्नत या जावा संस्करण को नीचा दिखा सकते हैं।
मैंने ऊपर @Alex से उत्तर को अनुकूलित किया है और जावा 9 के लिए कोड को ठीक करने के लिए निम्नलिखित लिखा है।
$ cat ~/.jdk
#!/bin/bash
#list available jdks
alias jdks="/usr/libexec/java_home -V"
# jdk version switching - e.g. `jdk 6` will switch to version 1.6
function jdk() {
echo "Switching java version $1";
requestedVersion=$1
oldStyleVersion=8
# Set the version
if [ $requestedVersion -gt $oldStyleVersion ]; then
export JAVA_HOME=$(/usr/libexec/java_home -v $1);
else
export JAVA_HOME=`/usr/libexec/java_home -v 1.$1`;
fi
echo "Setting JAVA_HOME=$JAVA_HOME"
which java
java -version;
}
$ jdk 8
Switching java version 8
Setting JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
/usr/bin/java
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
$ jdk 9
Switching java version 9
Setting JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
/usr/bin/java
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
यदि फिर भी आप इसे सेट नहीं कर पा रहे हैं। इस कमांड का उपयोग करना।
निर्यात JAVA_HOME =/usr/libexec/java_home -v 1.8
तो आपको इस एक का उपयोग करना होगा।
निर्यात JAVA_HOME =$(/usr/libexec/java_home -v 1.8)
यह निश्चित रूप से काम करेगा।
आप इसे अपने .bash_profile में डिफ़ॉल्ट रूप से सेट किए गए संस्करण में जोड़ सकते हैं।
//Open bash profile
open ~/.bash_profile
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
// run bash profile
source ~/.bash_profile
यदि आप मछली का उपयोग कर रहे हैं और आप मैक का उपयोग कर रहे हैं और आप जेडडीके के बीच स्विच करना चाहते हैं, तो नीचे मैक पर मेरे लिए काम करता है।
@ kenglxn का जवाब मेरे काम नहीं आया और मुझे लगा कि सेंसर ने सेट नहीं किया है-जो वैश्विक है!
नीचे रखें ~ / .config / मछली / config.fish
alias j8="jhome -v 1.8.0_162"
alias j9="jhome -v 9.0.1"
function jhome
set -g -x JAVA_HOME (/usr/libexec/java_home $argv)
echo "JAVA_HOME:" $JAVA_HOME
echo "java -version:"
java -version
end
funcsave jhome
यह जानने के लिए कि आपने कौन सा संस्करण / लघु संस्करण स्थापित किया है, आप कर सकते हैं:
/usr/libexec/java_home -V 579ms Wed 14 Feb 11:44:01 2018
Matching Java Virtual Machines (3):
9.0.1, x86_64: "Java SE 9.0.1" /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
1.8.0_162, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home
1.8.0_121, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
यदि आपके पास कई संस्करण हैं और आप किसी विशिष्ट संस्करण का उपयोग करके कुछ चलाना चाहते हैं, तो इस उदाहरण का उपयोग करें:
/usr/libexec/java_home -v 1.7.0_75 --exec java -jar you-file.jar
@Markhellewell उत्तर के आधार पर मैंने कुछ अन्य प्रकार के कार्य किए हैं जो आपके लिए करेंगे। बस इन्हें अपने शेल स्टार्टअप फाइल में जोड़ें
#list available jdks
alias jdks="/usr/libexec/java_home -V"
# jdk version switching - e.g. `jdk 6` will switch to version 1.6
function jdk() {
echo "Switching java version";
export JAVA_HOME=`/usr/libexec/java_home -v 1.$1`;
java -version;
}
https://gist.github.com/Noyabronok/0a90e1f3c52d1aaa941013d3caa8d0e4
यहां बताया गया है कि मैं इसे अपने लिनक्स (उबंटू / मिंट मेट) पर कैसे करता हूं , मुझे लगता है कि मैक ऐसा ही कर सकता है।
कदम:
/mnt/star/program/java/jdk-1.8
ln -s /mnt/star/program/java/jdk-1.8 /mnt/star/program/java/java
/mnt/star/program/java/java
नरम कड़ी है।JAVA_HOME
एक स्टार्ट स्क्रिप्ट में सेट करें । /etc/profile.d/eric.sh
, या बस उपयोग करें ~/.bashrc
। JAVA_HOME=/mnt/star/program/java/java
java -version
जावा संस्करण मुद्रित करना चाहिए।/mnt/star/program/java/jdk-11
~/.bashrc
, विभिन्न जावा संस्करण के लिए चर परिभाषित करते हैं। _E_JAVA_HOME_11='/mnt/star/program/java/jdk-11'
_E_JAVA_HOME_8='/mnt/star/program/java/jdk-8'
# dir of default version,
_E_JAVA_HOME_D=$_E_JAVA_HOME_8
~/.bashrc
, जावा संस्करण स्विच करने के लिए आदेश परिभाषित करते हैं। ## switch java version,
alias jv11="rm $JAVA_HOME; ln -s $_E_JAVA_HOME_11 $JAVA_HOME"
alias jv8="rm $JAVA_HOME; ln -s $_E_JAVA_HOME_8 $JAVA_HOME"
# default java version,
alias jvd="rm $JAVA_HOME; ln -s $_E_JAVA_HOME_D $JAVA_HOME"
alias jv="java -version"
source ~/.bashrc
परिवर्तनों को प्रभावी बनाने के लिए।आदेश:
jv11
jv8
jvd
_E_JAVA_HOME_D
ऊपर परिभाषित किया गया है।jv
उदाहरण आउटपुट:
eric@eric-pc:~$ jv
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
eric@eric-pc:~$ jv11
eric@eric-pc:~$ jv
java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
eric@eric-pc:~$ jvd
eric@eric-pc:~$ jv
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
eric@eric-pc:~$
JAVA_HOME
।मेरी मशीन पर जब हाथ से jdk स्थापित होता है, तो मैं मामूली संस्करण रखता हूं, फिर प्रमुख संस्करण के साथ एक नरम लिंक बनाता हूं लेकिन बिना मामूली संस्करण के।
जैसे
// यह वास्तविक डायर है,
jdk1.8.0_191
// यह एक सॉफ्ट लिंक है jdk1.8.0_191
jdk-8
// यह एक सॉफ्ट लिंक है jdk-8
याjdk-11
java
मैं कमांड उर्फ को परिभाषित करता हूं ~/.bashrc
, लेकिन एक अलग फ़ाइल में चर को परिभाषित करता हूं ।
मैं ~/.eric_var
चर को परिभाषित करने के लिए उपयोग कर रहा हूं , और ~/.bashrc
इसे स्रोत (जैसे source $HOME/.eric_var
) करेगा।
एक अलग तरीके से स्थापित JDK को दी गई सूची में शामिल करने का एक आसान तरीका है /usr/libexec/java_home -V
निर्देशिका को इस प्रकार से जोड़ना:
sudo ln -s path/to/jdk /Library/Java/JavaVirtualMachines/jdk-[some-identifier].jdk
उदाहरण के लिए, एंड्रॉइड स्टूडियो के साथ शामिल JDK को पंजीकृत करने के लिए (लेखन के समय 1.8.0_152), उपयोग करें:
sudo ln -s /Applications/Android\ Studio.app/Contents/jre/jdk /Library/Java/JavaVirtualMachines/jdk-android-studio.jdk
अब java_home
JDK को नीचे सूचीबद्ध करेंगे Matching Java Virtual Machines
और आप इसे ऊपर बताए अनुसार चुन सकते हैं।
मैंने इसे स्थानीय टर्मिनल के लिए किया है
export JAVA_8_HOME=(/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/)
export JAVA_13_HOME=(/Library/Java/JavaVirtualMachines/jdk-13.0.1.jdk/Contents/Home/)
alias java8='export JAVA_HOME=$JAVA_8_HOME; alias java="$JAVA_8_HOME/bin/java"; $JAVA_8_HOME/bin/java -version'
alias java13='export JAVA_HOME=$JAVA_13_HOME; alias java="$JAVA_13_HOME/bin/java"; $JAVA_13_HOME/bin/java -version'
export JAVA_HOME=$JAVA_13_HOME
यह उपकरण आपके लिए काम करेगा:
http://www.guigarage.com/2013/02/change-java-version-on-mac-os/
यह एक सरल जावाऑन है जिसका उपयोग वर्तमान जावा संस्करण को परिभाषित करने के लिए किया जा सकता है। संस्करण का उपयोग उस शेल में किया जा सकता है जिसे उपकरण में एक संस्करण चुने जाने के बाद खोला जाता है।
TOO EASY SOLUTION: क्या सिरदर्द है - यह एक त्वरित आसान समाधान था जो मेरे लिए काम करता था।
मैक ओएस सिएरा संस्करण 10.12.13
शॉर्टकट कुंजी का उपयोग करें: CMD + SHIFT + G - "/ लाइब्रेरी /" में टाइप करें
जावा फ़ोल्डर खोजें
राइट क्लिक जावा फोल्डर = ट्रैश में जाएं (पासवर्ड आवश्यक)
इंस्टॉल करें: जावा एसई डेवलपमेंट किट 8 jdk-8u131-macosx-x64inosg | जावास्क्रिप्ट एसडीके डाउनलोड करें
/usr/libexec/java_home
आपको बता रहा है?