Mac 系统可以安装多个 jdk 版本,并在之间可以随意切换,也可以借助 .bash_profile 文件设置 Mac 开机后的默认 jdk 版本。
jdk 多版本切换
准备工作
Mac 系统自带了 jdk6,安装目录在 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/
或者 /Library/Java/JavaVirtualMachines/1.6.0.jdk/
下。
通过 Oracle 官网下载指定版本的 jdk,例如安装完 jdk7 和 jdk8,路径类似 /Library/Java/JavaVirtualMachines/jdk1.7.0_xx.jdk
。
配置文件
在当前用户目录下,创建 .bash_profile
配置文件(若已经有该文件,就跳过此步骤),.bash_profile
文件是类 unix 系统的用户环境变量存储的文件;
touch ~/.bash_profile
用 vi
或 vim
编辑 .bash_profile
文件;
vi ~/.bash_profile
如果不习惯 vi
命令就使用自带的文本编辑器打开;
open ~/.bash_profile
设置 jdk 版本;
export JAVA_6_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
export JAVA_7_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_xxx.jdk/Contents/Home
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_xxx.jdk/Contents/Home
alias
命令动态切换 JAVA_HOME
的配置;
alias java6="export JAVA_HOME=$JAVA_6_HOME;echo $JAVA_6_HOME"
alias java7="export JAVA_HOME=$JAVA_7_HOME;echo $JAVA_7_HOME"
alias java8="export JAVA_HOME=$JAVA_8_HOME;echo $JAVA_8_HOME"
修改完成后保存,然后重新执行,如下命令:
source ~/.bash_profile
验证
可以在终端(terminal)执行如下命令:
java7
会相应地打印出,安装的 java7 的安装路径,例如:
/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
再执行当前的 java 版本命令:
java -version
会打印出,切换的当前 java 版本,例如:
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
jdk 默认版本设定
有一种需求就是 Mac 系统在开机后,默认指定的 java 版本,只需要在如上的配置基础上,对 JAVA_HOME
设置指定 java 版本即可,如下:
export JAVA_HOME=$JAVA_8_HOME
验证可以如上的验证方式,也可以设置保存后,重启服务,再去确认是否默认该 java 版本。
本质原理就是系统当前的
JAVA_HOME
变量为哪个版本就是当前的 Java 版本。