這裡介紹如何切換 Mac OS X 的 Java 版本,根據不同程式選擇適合的 JRE 版本。
有時候因為某些舊版程式的需要,我們會在電腦中安裝各種不同的 Java 版本,而每一個程式需要的 Java 版本也都不一樣,以下是在 Mac OS X 中切換 JRE 版本的方法。
首先查詢一下自己的 Mac OS X 中有安裝的 Java 版本有哪些:
/usr/libexec/java_home -V
Matching Java Virtual Machines (4): 1.8.0_51, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home 1.7.0_45, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home 1.6.0_65-b14-468, x86_64: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 1.6.0_65-b14-468, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home
在 ~/.bash_profile
中加入 JAVA_HOME
的設定:
export JAVA_HOME=`/usr/libexec/java_home -v 1.8.0_51`
java_home
這個指令允許使用部分的版本名稱來指定,所以我們也可以只指定主要的 Java 版本,這樣比較簡潔:
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
設定好之後,以後開啟終端機時,Java 的執行環境預設就會是自己選定的版本了:
java -version
java version "1.8.0_51" Java(TM) SE Runtime Environment (build 1.8.0_51-b16) Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)
如果某些特定的程式需要不同版本的 Java 執行環境,我們可以在指令稿中先設定好 Java 的版本,再執行該程式:
#!/bin/sh export JAVA_HOME=`/usr/libexec/java_home -v 1.7` /your/program
透過這樣的方式,我們就可以針對不同的程式設定不同的 JRE 版本,而且也不會影響到預設的 Java 執行環境。
如果要在終端機中直接執行程式,可以用這樣的方式來對個別的指令設定 Java 版本:
JAVA_HOME=`/usr/libexec/java_home -v 1.7` /your/program
參考資料:stackoverflow