- 查找openjdk版本
执行:brew search openjdk,注意:执行命令后,如果得到的结果中没有红框内容,则需要更新一下 brew
更新 brew 分别执行以下命令:
cd "$(brew --repo)"
export HOMEBREW_API_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api"
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles"
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git"
export HOMEBREW_PIP_INDEX_URL="https://pypi.tuna.tsinghua.edu.cn/simple"
source ~/.zshrc
git fetch
git reset --hard origin/master
brew update: 执行时间较长,耐心等待
brew upgrade
等待更新结束,再次执行查找openjdk命令,此时应该显示图中内容。
- 安装openjdk
执行安装命令:brew install openjdk@版本号
比如我这里想安装openJdk17,则执行:brew install openjdk@17
安装完毕后,输出如下信息表示安装成功:
For the system Java wrappers to find this JDK, symlink it with
sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
openjdk@17 is keg-only, which means it was not symlinked into /opt/homebrew,
because this is an alternate version of another formula.
If you need to have openjdk@17 first in your PATH, run:
echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc
For compilers to find openjdk@17 you may need to set:
export CPPFLAGS="-I/opt/homebrew/opt/openjdk@17/include"
接下来,根据提示,我们这里需要做两个操作
为了让 Java wrappers 找到 JDK,需要手动建立链接;
sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
1
配置环境变量;
因为之前安装有jdk1.8,所以需要在两个jdk之前切换,需要配置多环境变量:
首先:找到 ~/.bash_profile、 ~/.bashrc、 ~/.zshrc 等配置文件中的 任意一个 (之前环境变量配置在哪个文件,就继续使用原有文件,我这里使用~/.bash_profile) ,添加下面这行代码:
配置Java11的家目录
export JAVA_17_HOME=$(/usr/libexec/java_home -v17)
配置Java8的家目录
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
配置别名,方便快速切换
alias java8='export JAVA_HOME=$JAVA_8_HOME'
配置别名,方便快速切换
alias java17='export JAVA_HOME=$JAVA_17_HOME'
export PATH=JAVA_HOME/bin:PATH:.
默认是java8
export JAVA_HOME=$JAVA_8_HOME
- 多jdk之间的切换
经过我反复测试,切换时一定要加上:&& source ~/.bash_profile。
即:
切换Java17:java17 && source ~/.bash_profile
切换Java8:java8 && source ~/.bash_profile