😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~
🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志
🎐 个人CSND主页——Micro麦可乐的博客
🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战
🌺《RabbitMQ》本专栏主要介绍使用JAVA开发RabbitMQ的系列教程,从基础知识到项目实战
🌸《设计模式》专栏以实际的生活场景为案例进行讲解,让大家对设计模式有一个更清晰的理解
如果文章能够给大家带来一定的帮助!欢迎关注、评论互动~
Hombrew中AdoptOpenJDK已废弃更换Eclipse Temurin安装最新版JDK,并实现不同JDK版本之间切换
- 前言
- 查找问题
- 开始替换
- 卸载已经安装的JDK
- 安装Temurin
- 解决安装失败或慢的问题
- 在不同JDK版本之间切换
- 方案一
- 方案二
- 切换版本
- 结语
前言
最近博主想体验一下JDK17的一些新特性,之前使用Homebrew安装JDK是基于AdoptOpenJDK,发现Homebrew上的AdoptOpenJDK最高只到16(见下图),这里就教大家怎么来解决安装后续更新的JDK问题
查找问题
首先第一时间上GitHub查看为什么没有后续版本原因,发现原来AdoptOpenJDK
被废弃了,推荐使用Eclipse基金会的JDK(Adoptium
)
Adoptium 的 JDK 称为 Eclipse Temurin
,即原 AdoptOpenJDK ,只是已改名为 Adoptium 旗下的 Eclipse Temurin,或许你会问这个 Eclipse Temurin
免费么?官方的答复:是的免费!
官方查阅参考
根据 “GNU General Public License, version 2 with the Classpath Exception” 许可证, Adoptium 将永久免费提供 Eclipse Temurin 二进制文件供您使用。 您可以自由地使用、修改和共享这些代码,这些权限都包含在您下载的许可证中。
开始替换
卸载已经安装的JDK
首先如果你之前使用了AdoptOpenJDK安装了某些JDK版本,需要使用Homebrew命令执行删除 brew remove --cask AdoptOpenJDK版本
,这里为博主目前已经安装的adoptopenjdk8
为例
# 移除adoptopenjdk8
brew remove --cask adoptopenjdk8
# 其他版本依次执行即可
...
如果提示输入密码,输入当前mac密码确认即可,看到下图即代表卸载成功
或者使用 java-verson 验证是否卸载;
你也可以检查JDK安装目录/Library/Java/JavaVirtualMachines/
是否还存在adoptopenjdk8
在卸载完相关JDK后,最后执行 brew untap AdoptOpenJDK/openjdk
,我们就彻底告别AdoptOpenJDK了
# 关闭tap
brew untap AdoptOpenJDK/openjdk
安装Temurin
按照安装介绍,我们只需要执行 brew install --cask temurin
即可安装最新版的JDK
如果需要安装其他版本的JDK则需要,先 brew tap homebrew/cask-versions
,再安装对应的版本JDK 比如JDK8 brew install --cask temurin8
# 先tap cask-versions,使之能够找到所有的casks
brew tap homebrew/cask-versions
#安装最新版
brew install --cask temurin
#安装JDK8
brew install --cask temurin8
#安装JDK11
brew install --cask temurin11
#依次类推
...
目前博主按照上述代码,安装了三个版本,我们进入JDK安装目录/Library/Java/JavaVirtualMachines/
会发现有三个对应文件夹
temurin-8.jdk
temurin-11.jdk
temurin-17.jdk
解决安装失败或慢的问题
在终端找到目录 /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask-versions/Casks
会看到这几个rb文件
以修改temurin8.rb为例,修改文件将url更改为中科大的pkg包地址
https://mirrors.ustc.edu.cn/adoptium/releases/temurin8-binaries/jdk8u372-b07/OpenJDK8U-jdk_x64_mac_hotspot_8u372b07.pkg
重新执行安装,你会发现下载速度飞快了
其他版本请参考中科大的源地址 https://mirrors.ustc.edu.cn/adoptium/releases/ ,这里不再赘述了
在不同JDK版本之间切换
方案一
在 ~/.bashrc 或 ~/.zshrc 中添加如下内容:
jdk() {
version=$1
export JAVA_HOME=$(/usr/libexec/java_home -v"$version");
java -version
}
重载配置
#加载配置
source ~/.zshrc
方案二
对于Fish shell用户,在您的~/.config/fish/functions中添加以下函数
function jdk
set java_version $argv
set -Ux JAVA_HOME (/usr/libexec/java_home -v $java_version)
java -version
end
切换版本
# 选择 OpenJDK 1.8
jdk 1.8
# 选择 OpenJDK 11
jdk 11
# 选择 OpenJDK 17
jdk 17
结语
本章节主要介绍了使用Eclipse Temurin替换 AdoptOpenJDK,并解决在安装过程中下载慢或失败的问题,最后编写脚本实现在不同JDK版本之间切换的场景,如果本章内容对你有用,欢迎关注收藏评论,后续将陆续推出更多好文和大家一起学习成长~