Mac 管理多个Java版本

环境 & 软件

  • macOS 10.15.1
  • jEnv
  • JAVA JDK9、JDK11、JDK14

问题

系统存在多个版本JAVA JDK,如何切换JDK。

解决方法

  1. 使用 jEnv 管理JDK版本
  2. 修改 .bash_profile 文件

解决方法1:使用 jEnv 管理JDK版本

什么是jEnv?

jEnv是一个命令行工具,可帮助您忘记如何设置JAVA_HOME环境变量

  1. 安装

Mac OS X via Homebrew

brew install jenv
  1. 设置 JAVA_HOME
  • 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
  1. 把JAVA添加到 jEnv中(如何安装JAVA自行google,我已经安装JDK9、JDK11、JDK14)
jenv add /Library/Java/JavaVirtualMachines/JAVA_HOME

# 例子 (JAVA_HOME 替换成系统所在JAVA目录)
# jenv add /Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
# jenv add /Library/Java/JavaVirtualMachines/jdk-11.0.6.jdk/Contents/Home
# jenv add /Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/Home

有人说我不能google,你找度娘也可以,只是个人单纯不喜欢百度而已。

  1. 切换版本
  • 全局配置
jenv global oracle64-1.6.0.39
  • 单个项目设置
jenv local oracle64-1.6.0.39
  • shell 设置
 jenv shell oracle64-1.6.0.39
  • 列出当前系统已安装的JAVA版本
jenv versions

解决方法2:修改 .bash_profile 文件

  1. 打开.bash_profile 文件
# 创建.bash_profile文件,若已存在则忽略
touch ~/.bash_profile
# 打开.bash_profile文件,以文本编辑的方式编辑
open ~/.bash_profile
  1. 编辑 .bash_profile 文件
# Setting PATH for JAVA
# 设置 JDK 9
export JAVA_9_HOME="/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home"
# 设置 JDK 11
export JAVA_11_HOME="/Library/Java/JavaVirtualMachines/jdk-11.0.6.jdk/Contents/Home"
# 设置 JDK 14
export JAVA_14_HOME="/Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/Home"

# 默认JDK 14
export JAVA_HOME=$JAVA_14_HOME

# alias命令动态切换JDK版本
alias jdk9="export JAVA_HOME=$JAVA_9_HOME"
alias jdk11="export JAVA_HOME=$JAVA_11_HOME"
alias jdk14="export JAVA_HOME=$JAVA_14_HOME"
  1. 保存.bash_profile 文件,重启终端
source .bash_profile 

附:

  • jEnv 官网
  • JAVA 被默认安装在 /Library/Java/JavaVirtualMachines 目录下
  • 查看JAVA版本 java -version

你可能感兴趣的:(Mac 管理多个Java版本)