简单办法
在~/.bash_profile
或~/.zsh_profile
中设置
# JDK 8、JDK 11 的 export 命令
export JDK8_HOME="/usr/local/Cellar/openjdk@8/1.8.0+312/libexec/openjdk.jdk/Contents/Home"
export JDK11_HOME="/usr/local/Cellar/openjdk@11/11.0.12/libexec/openjdk.jdk/Contents/Home"
# alias 命令链接到 export 命令
alias jdk8="export JAVA_HOME=$JDK8_HOME"
alias jdk11="export JAVA_HOME=$JDK11_HOME"
每次开启时执行source ~./bash_profile
使用JEnv工具(适用于linux和macOS)
第一步:homebrew安装
brew install jenv
第二步:
# 如果你是用的 bash 则执行下述命令
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
# 如果你是用的 zsh 则执行下述命令
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
注:之后重新打开终端
第三步:查看当前所有jdk版本
/usr/libexec/java_home -V
显示类似如下结果:
Matching Java Virtual Machines (2):
11.0.12 (x86_64) "Homebrew" - "OpenJDK 11.0.12" /usr/local/Cellar/openjdk@11/11.0.12/libexec/openjdk.jdk/Contents/Home
1.8.0_312 (x86_64) "Homebrew" - "OpenJDK 8" /usr/local/Cellar/openjdk@8/1.8.0+312/libexec/openjdk.jdk/Contents/Home
/usr/local/Cellar/openjdk@11/11.0.12/libexec/openjdk.jdk/Contents/Home
第四步:添加需要管理的jdk
jenv add /usr/local/Cellar/openjdk@11/11.0.12/libexec/openjdk.jdk/Contents/Home
jenv add /usr/local/Cellar/openjdk@8/1.8.0+312/libexec/openjdk.jdk/Contents/Home
jenv versions
显示类似如下结果:
system
* 1.8
1.8.0.312
11
11.0
11.0.12
openjdk64-1.8.0.312
openjdk64-11.0.12
说明:
JEnv 的精髓是 shell、local 和 global 三个参数命令。shell 用于设置终端窗口生命周期内使用的 JDK 版本;local 用于设置当前目录下使用的 JDK 版本;而 global 用于设置全局使用的 JDK 版本。这三个命令的使用方式都一样:
jenv local 1.8
➜ ~ git:(main) ✗ cd Desktop/gadget1.0
➜ gadget1.0 git:(main) ✗ jenv local 1.8
➜ gadget1.0 git:(main) ✗ java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-bre_2021_10_20_23_15-b00)
OpenJDK 64-Bit Server VM (build 25.312-b00, mixed mode)
➜ gadget1.0 git:(main) ✗ jenv local 11
➜ gadget1.0 git:(main) ✗ java -version
openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment Homebrew (build 11.0.12+0)
OpenJDK 64-Bit Server VM Homebrew (build 11.0.12+0, mixed mode)