mac 多版本 jdk 配置

416 阅读2分钟

mac 多版本 jdk 配置

1.查看现状

安装多个版本的jdk后,在终端中执行下面的命令,查看已安装的 jdk 信息

/usr/libexec/java_home -V

image-20230724161820865.png 执行下面的命令,查看当前生效的java版本

java -version

image-20230724162828468.png

PS:在mac自带的终端Terminal中执行,可能会出现问题 这时,可以先切换到/usr/libexec目录下,再执行

cd /usr/libexec/
./java_home -V

2.配置多版本 jdk

2.1 前置信息

从 macOS Catalina 开始,Mac 使用 zsh 作为默认登录 Shell 和交互式 Shel

从 macOS Catalina 开始,Mac 使用 zsh 作为默认登录 Shell 和交互式 Shell。你还可以在较早版本的 macOS 中将 zsh 设置为默认 Shell。

默认情况下,Mac 使用 zsh 或 bash 作为登录 Shell 和交互式 Shell 的命令行解释器:

  • 从 macOS Catalina 开始,zsh (Z shell) 是所有新建用户帐户的默认 Shell。
  • bashmacOS Mojave 及更早版本中的默认 Shell。

zsh 与 Bourne Shell (sh) 高度兼容,并且与 bash 基本兼容(存在一些差别)。要进一步了解 zsh 及其全面的命令行完成系统,请在“终端”中输入 man zsh

转自apple官网 转自 support.apple.com/zh-cn/HT208…

2.2 更改配置文件

请先确保已切换至zsh,以下内容基于zsh

zsh 描述文件和提示符

  • .zprofile 的作用与 .bash_profile 相同,并且在登录时运行(包括通过 SSH 运行)
  • .zshrc 的作用与 .bashrc 相同,并针对每个新的“终端”会话运行

编辑 .zprofile

cd ~
vi .zprofile

将下面的内容添加至 .zprofile(或者 .zshrc,两者的作用时机不同 ) 文件中(注意路径改为自己的jdk路径,参看步骤1)

# jdk
JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
JAVA_11_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home
JAVA_17_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
alias jdk11="export JAVA_HOME=$JAVA_11_HOME"
alias jdk17="export JAVA_HOME=$JAVA_17_HOME"
export JAVA_HOME=$(/usr/libexec/java_home)

然后关闭再重新打开终端,就可以切换了。比如我想切换为 jdk8 , 只需要执行

jdk8

即可。

image-20230724173308769.png