Java开发—JDK的安装和版本管理(macOS)

目录

[🔧 直接使用 Homebrew 安装与切换](#🔧 直接使用 Homebrew 安装与切换)

[1、安装 JDK 8​​](#1、安装 JDK 8)

2、手动切换版本​​

[🛠️ 使用 jenv 进行高级版本管理](#🛠️ 使用 jenv 进行高级版本管理)

[1、安装 jenv​​](#1、安装 jenv)

[2、配置 Shell](#2、配置 Shell)

[3、将 JDK 添加到 jenv 管理​​](#3、将 JDK 添加到 jenv 管理)

[4、使用 jenv 切换版本](#4、使用 jenv 切换版本)

[💎 其他注意事项与建议](#💎 其他注意事项与建议)


使用Homebrew安装JDK是最基础、也是最方便的方式。

当然,我们也可以选择,Oracle官网的下载安装的方式。

JDK的版本管理,当我们开发中,需要管理多个版本的JDK的时候,我们不仅可以通过手动管理,也可以使用JDK的版本管理工具。

基本结构如下所示

🔧 直接使用 Homebrew 安装与切换

这是最基础的方法,适合只需要偶尔切换版本的情况。

1、安装 JDK 8​

首先,你需要通过 Homebrew 安装 JDK 8。目前常见的开源版本是 Temurin(由 AdoptOpenJDK 项目衍生)或 OpenJDK。在终端中执行以下命令即可安装:

复制代码
brew install --cask temurin8

安装完成后,JDK 文件通常会位于 /Library/Java/JavaVirtualMachines/目录下。

2、手动切换版本​

安装多个 JDK 后,你需要告诉系统当前要使用哪一个。macOS 提供了一个便利的工具 /usr/libexec/java_home来帮助你定位 JDK 路径。你可以通过编辑 shell 配置文件(例如 ~/.zshrc~/.bash_profile)来设置。

使用 nano ~/.zshrc或你常用的文本编辑器打开配置文件,添加或修改以下行(将版本号 1.8替换为你需要的具体版本):

复制代码
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
export PATH="$JAVA_HOME/bin:$PATH"

保存文件后,执行 source ~/.zshrc使配置立即生效。之后可以通过 java -versionecho $JAVA_HOME验证是否切换成功。

你也可以不修改配置文件,而是直接在终端会话中执行上面的 export命令进行临时切换,这只对当前终端窗口有效。

🛠️ 使用 jenv 进行高级版本管理

如果你需要频繁地在不同项目间切换 JDK 版本,强烈推荐使用 ​​jenv​​。它是一个轻量级的版本管理工具,可以让你轻松设置全局默认版本、针对特定目录(项目)设置本地版本。

1、安装 jenv​

通过 Homebrew 安装 jenv:

bash 复制代码
brew install jenv

2、配置 Shell

接下来,需要将 jenv 的初始化脚本添加到你的 shell 配置文件中。以 Z shell 为例,将以下内容添加到 ~/.zshrc文件中:

bash 复制代码
export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"

然后运行 source ~/.zshrc

3、将 JDK 添加到 jenv 管理​

现在,你需要让 jenv 知道你系统里已经安装的所有 JDK。首先,可以查看系统已识别出的 JDK 路径:

bash 复制代码
/usr/libexec/java_home -V

然后,使用 jenv add命令将 JDK 的根路径添加到 jenv 的管理中。例如,添加已安装的 JDK 8 和 JDK 21:

复制代码
jenv add /Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home

添加后,运行 jenv versions可以查看所有被 jenv 管理的 JDK 版本,前面带 *的表示当前激活的版本。

4、使用 jenv 切换版本

现在,你可以非常方便地切换版本了:

  1. 设置全局默认版本​jenv global 1.8
  2. 设置当前目录的本地版本​ (非常适合为不同项目设置特定版本):jenv local 17这会在当前目录创建一个 .java-version文件。
  3. 设置完成后,任何时候在终端输入 java -version,jenv 会自动指向你设置的版本。

💎 其他注意事项与建议

  • ​确认安装成功​ ​:无论用哪种方法,安装和切换后,都在终端执行 java -versionjavac -version来确认版本已按预期切换。

  • ​版本冲突​ ​:如果切换后版本显示不对,可能是 PATH 设置问题。可以检查 echo $PATH,确保当前 JAVA_HOME/bin在路径最前面。使用 jenv 可以很好地避免这类混乱。

  • ​卸载旧版本​ ​:如果你想卸载某个不再需要的 JDK 版本,可以使用 Homebrew 命令(例如 brew uninstall --cask temurin17)或直接删除 JDK 在 /Library/Java/JavaVirtualMachines/下的目录。使用 jenv 管理时,则无需卸载,只需切换。

希望这份详细的指南能帮助你顺利完成 JDK 的安装和版本管理!

相关推荐
人邮异步社区9 小时前
怎么把C语言学到精通?
c语言·开发语言
心平气和量大福大9 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf
ttwuai9 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
维天说10 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
এ慕ོ冬℘゜10 小时前
前端基础:什么是时间戳?JS获取时间戳三种方法与实战用途
开发语言·前端·javascript
执明wa10 小时前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio
一次旅行10 小时前
Python+大模型端到端自动化日报系统
开发语言·python·自动化
Zane199410 小时前
并发 vs 并行:别再傻傻分不清了,一文讲透 Java 并发编程的第一课
java·后端
噢,我明白了11 小时前
java中Excel的导入和导出(EasyExcel)
java·开发语言·excel
吠品11 小时前
Zabbix Web界面误报Server未运行的排查与解决
java·服务器·数据库