如何在Mac命令行环境中切换JDK版本

236 阅读1分钟

JDK下载

首先你得确保在你的Mac中安装了多个版本的JDK

我已有的JAVA_HOME是JDK8,我想增加JDK17,JDK17下载地址

若你下载的是.tar.gz压缩包,解压完成移入系统Library后,在执行命令时会提示 无法打开“java”,因为无法验证开发者, 此时需要在设置-隐私与安全性中同意。

配置环境

Mac中的环境配置脚本有如下:

  1. .bashrc :在系统启动后运行
  2. .profile :在用户登录后运行
  3. .zshrc :zsh终端命令工具的全局变量设置,linux系统是base使用bashrc,Mac默认使用zsh就配置在zshrc
  4. .bash_profile :每个用户专用的shell信息,登录时为用户执行一次。

这里选择.bashrc,进行如下配置

# java config
export JAVA_8_HOME= 你的JDK8的Home目录地址(例如"/Users/用户名/Library/JAVA/Contents/Home")
export JAVA_17_HOME= 你的JDK17的Home目录地址
#config alias
alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
alias jdk17="export JAVA_HOME=$JAVA_17_HOME"
#config default jdk
export JAVA_HOME=$JAVA_8_HOME
export PATH="$JAVA_PATH:$PATH"

使用

于是就可以在命令行中使用jdk8和jdk17切换JDK版本了

$ jdk8
$ java -version
openjdk version "1.8.0_412"
OpenJDK Runtime Environment (Zulu 8.78.0.19-CA-macos-aarch64) (build 1.8.0_412-b08)
OpenJDK 64-Bit Server VM (Zulu 8.78.0.19-CA-macos-aarch64) (build 25.412-b08, mixed mode)
$ jdk17
$ java -version
java version "17.0.12" 2024-07-16 LTS
Java(TM) SE Runtime Environment (build 17.0.12+8-LTS-286)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.12+8-LTS-286, mixed mode, sharing)