管理、安装Java for Mac
Mac OSX 已经预装好Java环境,但有可是旧版的,像OS X 10.10内建的是Java 1.6:
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
安装
有在开发或使用Java应用可能需要最新版本时就必需安装新版的Java环境,现在是Java 7为主,所以需要自行到官网下载新版的,
默认安装好的Java 7路径会是在:
/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
设定默认环境
利用编辑软体开启 ~/.bash_profile:
vi ~/.bash_profile
增加Java环境变数:
export JAVA_HOME=$(/usr/libexec/java_home) export PATH=$JAVA_HOME/bin:$PATH
这样每次进入终端机(Terminal)时就会将Java Home的路径加上去,使用新版的Java环境。
Java Home
设定环境变数时有看到执行档java_home
,它是OS X上管理每个Java版本路径的程式,你可以利用它得知目前的Java有安装哪些版本及路径,单执行java_home
/usr/libexec/java_home
会返回目前使用Java最高版本的路径:
/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
加上它的参数-V
能得知目前各版本的路径:
/usr/libexec/java_home -V
注意参数为大写的V
,执行后会返回讯息:
Matching Java Virtual Machines (3): 1.7.0_71, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home 1.6.0_65-b14-466.1, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 1.6.0_65-b14-466.1, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
手动切换Java预设版本
Java Home
预设返回为最高版本的Java环境路径,如果想要自由切换Java版本路径的话可以参考How to switch JDK version on Mac OS X,在.bash_profile
上加入几个Script指令来撷取你要指定版本的路径并加入PATH中:
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 } function removeFromPath() { export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;") } setjdk 1.7
如此你进入终端机(Terminal)时直接执行写好的setjdk来指定你要的版本,假设我的环境中有1.6那你就可以执行:
setjdk 1.6