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 的安装和版本管理!

相关推荐
Tracy-226 分钟前
广东专升本计算机C语言
c语言·开发语言
我根本不会啊6 分钟前
2025 11 09 作业
java·linux·服务器
熙客11 分钟前
SpringBoot项目如何使用Log4j2+SLF4J构建日志
java·spring boot·log4j
多多*11 分钟前
牛客周赛 Round 117 ABCDE 题解
java·开发语言·数据结构·算法·log4j·maven
liu****21 分钟前
13.POSIX信号量
linux·开发语言·c++·算法·1024程序员节
WZTTMoon24 分钟前
从 “完整对象” 视角看Spring 循环依赖
java·spring boot·后端·spring
Macbethad26 分钟前
Typora 精通指南:掌握高效 Markdown 写作的艺术
前端·macos·前端框架
baviya27 分钟前
一文彻底搞懂 Maven 依赖——从 <dependency> 到依赖冲突,带你看懂 Maven 的“江湖规矩”
java·maven
一瓢一瓢的饮 alanchan36 分钟前
Flink原理与实战(java版)#第1章 Flink快速入门(第一节IDE词频统计)
java·大数据·flink·kafka·实时计算·离线计算·流批一体化计算
java_logo36 分钟前
Docker 容器化部署 QINGLONG 面板指南
java·运维·docker·容器·eureka·centos·rabbitmq