macOS JDK多版本环境配置


简单办法

~/.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)

文章作者: Turboost Chen
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Turboost Chen !
  目录