本文旨在帮助一些使用Mac的同学们如何切换JDK。

最近身边有一些人频繁问起这个问题,就是在Mac上安装了多个版本之后不知道如何切换,而且网上几乎没有关于这一问题的解决方法,因此,本文就带领大家解决这一问题。水平有限,大家多多包涵!


1. JDK在Mac上的目录结构不同Windows,需要安装Apple公司提供的JavaForOSX2013-004.dmg,也就是JDK1.6,在此安装包成功安装之后才能正确的安装JDK的后续版本。


2. 安装完Apple的JDK1.6之后,系统会在/System/Library/Java目录下创建如下目录机构:

Extensions

JavaVirtualMachines

Support

并在/System/Library/Frameworks/JavaVM.framework目录下创建如下目录结构:

Classes

Commands

Frameworks

Home

JavaVM

Libraries

Resources

Versions


3. 安装JDK的后续版本

现在,你可以在自己的Mac上安装JDK1.7和JDK1.8,安装完成后会在/Library/Java/JavaVirtualMachines目录下有1.7和1.8的安装目录:

jdk1.7.0_10.jdk

jdk1.8.0.jdk


4. 接下来可以运行命令:java -version来查看当前的JDK版本


5. 确定不同版本的JAVA_HOME

安装完Apple的JDK1.6之后,系统在启动的时候会设置JAVA_HONE环境变量为当前默认的JDK路径,如果想切换当前的JDK,只需要切换JAVA_HOME环境变量即可,那么我们现在的问题是如何确定JAVA_HOME的值,现在我们要用到在Mac的/usr/libexec目录下的java_home程序了,java_home可以确定不同版本的JDK的HOME路径,如果直接运行java_home则会显示当前的JDK的HOME路径,如果想查看不同版本的JDK路径,可以这样使用:

# java_home -v 1.8

/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home

如果为1.7则命令为:

# java_home -v 1.7

/Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home


6. 切换JDK

确定了不同版本的JDK路径之后,就是最主要的工作了,即切换JDK,只要把JAVA_HOME环境变量的值设置为对应的JDK版本的HOME路径即可。临时的做法是:

# export JAVA_HOME=`java_home -v 1.8`

如果想在开机时设置默认的JAVA_HOME就把这个命令加入到你的启动脚本中。例如/etc/bashrc或者/etc/profile

其实,JDK的切换就这么简单!!