Mac如何安装多版本JDK,并且切换自如

236 阅读2分钟

概述

作为 Java 开发,JDK 必然不可或缺。

目前使用的主流版本还是 JDK 8,但偶尔会想体验下新版本(目前官方已强推JDK17),如果能装多个版本的 JDK,而且很方便的切换就好了。

本文就来要记录下 Mac 系统下如何这样操作。

操作步骤

  1. 首先要下载多个版本的 JDK,这里以 JDK 8、JDK 17 为例,分别下载他们的解压版。

解压后将文件夹移动到目录 /Library/Java/JavaVirtualMachines

  1. Mac配置环境变量的地方
  • /etc/profile (建议不修改这个文件 ) 全局(公有)配置,不管是哪个用户,登录时都会读取该文件。
  • /etc/bashrc (一般在这个文件中添加系统级环境变量) 全局(公有)配置,bash shell执行时,不管是何种方式,都会读取此文件。
  • ~/.bash_profile (一般在这个文件中添加用户级环境变量) 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!
  1. 然后配置多个环境变量如下,终端输入vim ~/.bash_profile,进入bash_profile编辑:
# jdk
export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home"
export JAVA_17_HOME="/Library/Java/JavaVirtualMachines/jdk-17.0.11.jdk/Contents/Home"

# 默认JDK版本
export JAVA_HOME=$JAVA_8_HOME

# 多版本切换(取了别名,更方便切换)
alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
alias jdk17="export JAVA_HOME=$JAVA_17_HOME"

PATH=".$PATH:$JAVA_HOME/bin"

export PATH=$PATH/bin

执行命令 source ~/.bash_profile 使配置生效。
4. 最后执行 echo \$JAVA_HOME 验证配置是否生效:

echo $JAVA_HOME

# 如果能正确输出Java安装目录,则说明配置已生效
/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home
  1. 配置完之后,查看默认 JDK 版本(前面配置了默认 JDK 8):
xxx@xxx ~ % java -version
java version "1.8.0_291"
Java(TM) SE Runtime Environment (build 1.8.0_291-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.291-b10, mixed mode)

版本切换,切换到 JDK 17:

xxx@xxx ~ % jdk17
xxx@xxx ~ % java -version
java version "17.0.11" 2024-04-16 LTS
Java(TM) SE Runtime Environment (build 17.0.11+7-LTS-207)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.11+7-LTS-207, mixed mode, sharing)
xxx@xxx ~ % jdk8
xxx@xxx ~ % java -version
java version "1.8.0_291"
Java(TM) SE Runtime Environment (build 1.8.0_291-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.291-b10, mixed mode)

That's all, thank u.