16人参与 • 2025-07-01 • 苹果Mac
在 macos 上安装了多个 jdk 后,可以通过系统自带的 /usr/libexec/java_home
工具来查询并切换不同版本的 java。只需在终端中执行 /usr/libexec/java_home -v
列出所有已安装的 jdk,然后将你想使用的版本路径赋值给环境变量 java_home
,并将其添加到 path
。最后,将这些设置写入你的 shell 启动文件(如 ~/.zshrc
或 ~/.bash_profile
),即可在每次新开终端时自动生效。
打开 终端,输入:
/usr/libexec/java_home -v
该命令会输出所有已安装的 java 虚拟机列表及其安装路径,例如:
matching java virtual machines (3): 17.0.2 (x86_64) "oracle corporation" - "java se 17.0.2" /library/java/javavirtualmachines/jdk-17.0.2.jdk/contents/home 1.8.0_202 (x86_64) "oracle corporation" - "java se 8" /library/java/javavirtualmachines/jdk1.8.0_202.jdk/contents/home
上面是一个示例,像我的电脑上装的jdk就有点乱了
如果仅想在当前终端会话中切换版本,可直接运行:
export java_home=$(/usr/libexec/java_home -v 1.8) export path="$java_home/bin:$path"
-v 1.8
可替换为你需要的版本号(如 -v 17
、-v 11.0.2
等)([stack overflow][2])java -version
即可验证当前使用的 java 版本为了在每次打开终端时都自动使用同一版本,需要将上述环境变量配置写入 shell 启动文件。
~/.zshrc
。~/.bash_profile
或 ~/.bashrc
。以 zsh 为例,打开或创建 ~/.zshrc
:
vim ~/.zshrc
或者
nano ~/.zshrc
在文件末尾添加:
# 指向 java 17(示例)像我的电脑上jdk装的有点乱了,可以指定特定的版本比如17.0.15 export java_home=$(/usr/libexec/java_home -v 17.0.15) export path="$java_home/bin:$path"
保存并退出(ctrl+x
→ y
→ enter
/获取:wq保存(vim的操作))
source ~/.zshrc java -version
此时终端应显示你指定的 java 版本信息。
如果经常在不同项目间切换 jdk,可以在启动文件中定义别名或函数,例如:
# ~/.zshrc 中 alias java8='export java_home=$(/usr/libexec/java_home -v 1.8); export path="$java_home/bin:$path"; java -version' alias java17='export java_home=$(/usr/libexec/java_home -v 17); export path="$java_home/bin:$path"; java -version'
这样在终端中仅需执行 java8
或 java17
即可快速切换版本。
sdkman能让你在 unix 系统上轻松管理多个软件开发工具包,像 apt、pip、rvm 和 rbenv一样工具
也可以理解为node的版本管理的工具nvm一样的工具软件
sdkman! 是一个管理多种 sdk(包括 java)版本的工具。安装后可用一条命令列出并切换 jdk:
sdk list java sdk use java 17.0.2-tem
这种方式在管理众多 java 发行版(oracle、temurin、amazon corretto 等)时尤为方便。
到此这篇关于mac环境下jdk版本切换的详细指南的文章就介绍到这了,更多相关mac环境jdk版本切换内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论