Java开发—JDK的安装和版本管理(macOS)
目录
🔧 直接使用 Homebrew 安装与切换
1、安装 JDK 8
2、手动切换版本
🛠️ 使用 jenv 进行高级版本管理
1、安装 jenv
2、配置 Shell
3、将 JDK 添加到 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 -version
和 echo $JAVA_HOME
验证是否切换成功。
你也可以不修改配置文件,而是直接在终端会话中执行上面的 export
命令进行临时切换,这只对当前终端窗口有效。
🛠️ 使用 jenv 进行高级版本管理
如果你需要频繁地在不同项目间切换 JDK 版本,强烈推荐使用 jenv。它是一个轻量级的版本管理工具,可以让你轻松设置全局默认版本、针对特定目录(项目)设置本地版本。
1、安装 jenv
通过 Homebrew 安装 jenv:
brew install jenv
2、配置 Shell
接下来,需要将 jenv 的初始化脚本添加到你的 shell 配置文件中。以 Z shell 为例,将以下内容添加到 ~/.zshrc
文件中:
export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"
然后运行 source ~/.zshrc
。
3、将 JDK 添加到 jenv 管理
现在,你需要让 jenv 知道你系统里已经安装的所有 JDK。首先,可以查看系统已识别出的 JDK 路径:
/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 切换版本
现在,你可以非常方便地切换版本了:
- 设置全局默认版本:
jenv global 1.8
- 设置当前目录的本地版本(非常适合为不同项目设置特定版本):
jenv local 17
这会在当前目录创建一个.java-version
文件。 - 设置完成后,任何时候在终端输入
java -version
,jenv 会自动指向你设置的版本。
💎 其他注意事项与建议
-
确认安装成功:无论用哪种方法,安装和切换后,都在终端执行
java -version
和javac -version
来确认版本已按预期切换。 -
版本冲突:如果切换后版本显示不对,可能是 PATH 设置问题。可以检查
echo $PATH
,确保当前JAVA_HOME/bin
在路径最前面。使用 jenv 可以很好地避免这类混乱。 -
卸载旧版本:如果你想卸载某个不再需要的 JDK 版本,可以使用 Homebrew 命令(例如
brew uninstall --cask temurin17
)或直接删除 JDK 在/Library/Java/JavaVirtualMachines/
下的目录。使用 jenv 管理时,则无需卸载,只需切换。
希望这份详细的指南能帮助你顺利完成 JDK 的安装和版本管理!