Mac 上安装多版本的 JDK 且实现 自由切换

背景

当前电脑上已经安装了 jdk8; 现在再安装 jdk17

期望

完成 jdk17 的安装,并且完成 环境变量 的配置,实现自由切换

前置补充知识

jdk 的安装路径

可以通过查看以下目录中的内容,确认当前已经安装的 jdk 版本。

 cd /Library/Java/JavaVirtualMachines

命令行查看 jdk 的安装路径

注意 :参数-V 是大写的 字母 v

shell 复制代码
/usr/libexec/java_home -V
$ /usr/libexec/java_home -V

展示出  【/Library/Java/JavaVirtualMachines】 目录下的所有的 jdk 的目录:

Matching Java Virtual Machines (2):
    1.8.341.10 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
    1.8.0_341 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_341.jdk/Contents/Home
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

下面我们开始 安装 和 配置 新的 jdk17

下载&安装 jdk17

下载jdk17

官网下载 :https://www.oracle.com/cn/java/technologies/downloads/#java17

安装

安装就是 简单的双击 安装程序,一步一步的执行安装即可。

安装完成查看jdk目录

shell 复制代码
 $ cd /Library/Java/JavaVirtualMachines
 $ ls -al

配置环境变量

本人的电脑使用的是 .zshrc 文件。

也可以使用 .bash_profile 文件,看个人的情况。

原配置详情

shell 复制代码
# add jdk1.8 environment 
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_341.jdk/Contents/Home

# important! you must export only one PATH param in this file
export PATH=$JAVA_HOME/bin:$PATH:.

# important! you must export only one CLASSPATH param in this file
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.

新的配置详情

shell 复制代码
# add jdk1.8 and jdk17 environment config by northcastle on 2024-05-01
JAVA_HOME_8=/Library/Java/JavaVirtualMachines/jdk1.8.0_341.jdk/Contents/Home
JAVA_HOME_17=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home

export JAVA_HOME=$JAVA_HOME_8

# 这是两个命令,切换版本的时候可以直接使用
alias jdk8="export JAVA_HOME=$JAVA_HOME_8"
alias jdk17="export JAVA_HOME=$JAVA_HOME_17"


# important! you must export only one PATH param in this file
export PATH=$JAVA_HOME/bin:$PATH:.

# important! you must export only one CLASSPATH param in this file
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.

修改完成之后,保存退出即可。

使配置文件生效

shell 复制代码
source .zshrc

关闭当前终端,并新打开一个终端

这个步骤很关键!
这个步骤很关键!
这个步骤很关键!

验证安装成功

可以直接在终端中使用jdk8jdk17命令进行版本切换。