Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

Mac 下 JDK 多版本切换及默认版本设置

Java 环境搭建 Java 环境搭建


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

vivim 编辑 .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 版本。