
正文
Mac 多版本 JDK 管理
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Mac 多版本 JDK 管理1. 准备
- ZSH
- Homebrew
- Oracle JDK 1.8 安装包(Homebrew 官方源和第三方源不再提供老版本的 Oracle JDK)
2. 安装 JDK
Oracle JDK 安装
点开安装包,一直下一步就行了
Open JDK 安装
通过 Homebrew 安装,先要添加第三方源:brew tap homebrew/cask-versions
然后brew search jdk,查找结果如下:

安装命令:brew cask install adoptopenjdk8 -v安装 Openjdk8
Oracle JDK 安装
点开安装包,一直下一步就行了
Open JDK 安装
通过 Homebrew 安装,先要添加第三方源:brew tap homebrew/cask-versions
然后brew search jdk,查找结果如下:
安装命令:brew cask install adoptopenjdk8 -v安装 Openjdk8
Mac 默认 JDK 安装的路径:
Mac 可以通过/usr/libexec/java_home来管理JAVA_HOME,具体使用如下:
查看当前安装的 JDK:
有安装就有卸载,手动安装的 JDK 可以参考 Removing Java 8 JDK from Mac
通过 Homebrew 安装的通过brew cask uninstall adoptopenjdk8 -v卸载即可
如果不采用 jenv 管理管理多版本 JDK,参考 mac配置JAVA_HOME最佳方法
3. jenv 安装及使用执行brew install jenv来安装 jenv
添加环境变量
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
exec $SHELL -l
jenv doctor命令用来检查配置
开启export插件
jenv enable-plugin export
添加 JDK
添加最新的 JDK
jenv add $(/usr/libexec/java_home)
添加指定的 JDK,比如 Open JDK 8
jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
通过jenv remove 命令可以删除添加过的 JDK
查看所有 JDK
jenv versions
此时使用jenv doctor命令,结果如下(一片绿就对了)

切换 JDK
jenv global用来设置全局 JDK
jenv local用来设置当前目录 JDK
jenv shell用来设置 shell session 中的 JDK
每次切换 JDK 之后,执行exec $SHELL -l或者重启终端
Maven
Maven 仍然会使用/usr/libexec/java_home -v输出的 JDK,可能与当前使用的 JDK 版本不同。用jenv enable-plugin maven命令启用 Maven 插件即可
4. 参考- Mac上的JDK多版本管理 | Coding Life
- Homebrew 安装与配置 JDK | asing1elife's blog
- macOS 的 JDK 安装问题 (Homebrew) - 质子 - 博客园
- maven ignoring jenv settings
执行brew install jenv来安装 jenv
添加环境变量
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
exec $SHELL -l
jenv doctor命令用来检查配置
开启export插件
jenv enable-plugin export
添加 JDK
添加最新的 JDK
jenv add $(/usr/libexec/java_home)
添加指定的 JDK,比如 Open JDK 8
jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
通过jenv remove 命令可以删除添加过的 JDK
查看所有 JDK
jenv versions
此时使用jenv doctor命令,结果如下(一片绿就对了)
切换 JDKjenv global用来设置全局 JDKjenv local用来设置当前目录 JDKjenv shell用来设置 shell session 中的 JDK
每次切换 JDK 之后,执行exec $SHELL -l或者重启终端
Maven
Maven 仍然会使用/usr/libexec/java_home -v输出的 JDK,可能与当前使用的 JDK 版本不同。用jenv enable-plugin maven命令启用 Maven 插件即可
- Mac上的JDK多版本管理 | Coding Life
- Homebrew 安装与配置 JDK | asing1elife's blog
- macOS 的 JDK 安装问题 (Homebrew) - 质子 - 博客园
- maven ignoring jenv settings







