简易安装单版本Java环境

1. 更新Homebrew

在开始安装之前,先确保Homebrew是最新的。打开终端并运行以下命令:

1
brew update

2. 使用Homebrew安装Java(JDK)

接下来,你可以使用Homebrew安装Java(通常安装最新的版本)。运行以下命令:

1
brew install openjdk

这个命令会安装OpenJDK,通常是Java的开源实现。安装完成后,Homebrew 会告诉你如何设置路径。

3. 设置Java环境变量

为了让你的系统识别刚刚安装的Java版本,你需要将Java路径添加到系统的环境变量中。Homebrew通常会提示你如何设置,通常类似如下命令:

1
sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

之后,你还可以将Java路径添加到~/.zshrc文件(如果你使用的是zsh,这是macOS的默认shell)或者~/.bash_profile文件(如果你使用的是bash)中,执行以下命令:

1
export PATH="/opt/homebrew/opt/openjdk/bin:$PATH"

保存文件后,执行以下命令使其生效:

1
source ~/.zshrc

1
source ~/.bash_profile

4. 验证安装

最后,验证Java是否已成功安装并且环境变量设置正确,运行以下命令:

1
java -version

你应该能够看到类似以下的输出,表示Java已经成功安装:

1
2
3
openjdk version "17.0.1" 2021-10-19
OpenJDK Runtime Environment Homebrew (build 17.0.1+12)
OpenJDK 64-Bit Server VM Homebrew (build 17.0.1+12, mixed mode)

如果你需要安装特定版本的Java,例如Java 8或Java 11,你可以使用:

1
brew install openjdk@11

5. 切换不同版本的Java(可选)

如果你有多个Java版本并且需要切换版本,你可以使用以下命令来管理Java版本:

1
brew install jenv

安装完jenv后,你可以添加并切换Java版本。

1
2
jenv add /Library/Java/JavaVirtualMachines/openjdk.jdk/Contents/Home
jenv global 17.0.1 # 设置全局Java版本为17.0.1

安装多版本Java环境

为了在Mac上管理多个Java版本,比如JDK 17和JDK 21,你可以使用工具来轻松地切换和管理不同版本的Java。以下是使用jenv工具进行Java版本管理的详细步骤:

1. 安装多个Java版本

首先,通过Homebrew安装你需要的不同版本的Java,例如JDK 17和JDK 21。

1
2
brew install openjdk@17
brew install openjdk@21

安装完成后,Homebrew 会告诉你安装路径,通常是类似 /opt/homebrew/opt/openjdk@17/opt/homebrew/opt/openjdk@21 的路径。

2. 安装jenv进行Java版本管理

jenv 是一个工具,可以帮助你管理多个Java版本并快速进行切换。你可以通过Homebrew来安装jenv

1
brew install jenv

3. 配置jenv

安装jenv之后,你需要将它集成到你的Shell环境中。执行以下命令将jenv添加到你的~/.zshrc~/.bash_profile文件中(具体取决于你使用的shell):

1
2
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc

然后,执行以下命令使其生效:

1
source ~/.zshrc

4. 添加Java版本到jenv

接下来,将你安装的Java版本添加到jenv中。找到它们的安装路径并将它们添加到jenv

1
2
jenv add /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home
jenv add /opt/homebrew/opt/openjdk@21/libexec/openjdk.jdk/Contents/Home

你可以使用以下命令查看已经添加的Java版本:

1
jenv versions

5. 切换Java版本

你可以使用jenv的不同模式来切换和选择Java版本:

设置全局Java版本

你可以设置全局(系统范围内)使用的Java版本:

1
jenv global 17.0

或者:

1
jenv global 21.0

设置当前目录(项目)的Java版本

如果你在某个特定的项目目录下希望使用不同的Java版本,可以在该目录下设置本地Java版本:

1
jenv local 21.0

这样,jenv会在你进入这个目录时自动切换到Java 21,离开时恢复全局配置。

临时切换Java版本

如果你想在当前终端会话中临时使用某个Java版本,可以运行以下命令:

1
jenv shell 17.0

这种方式仅在当前终端窗口有效,关闭终端后会恢复全局设置。

6. 验证Java版本

无论是全局切换、本地切换还是临时切换,你可以使用以下命令来验证当前使用的Java版本:

1
java -version

jenv会根据你的配置显示正确的Java版本。

7. 配置JAVA_HOME(可选)

有些应用程序和构建工具(如Maven或Gradle)可能需要设置JAVA_HOME。你可以通过jenv自动管理JAVA_HOME,只需运行以下命令:

1
jenv enable-plugin export

这会确保每次切换Java版本时,JAVA_HOME环境变量会自动更新到相应的版本路径。

BUG

如果出现这样的问题:

1
2
nanyancc@nanyancc ~ % jenv add /opt/homebrew/opt/openjdk@21/libexec/openjdk.jdk/Contents/Home
ln: /Users/nanyancc/.jenv/versions/openjdk64-21.0.4: No such file or directory

那么需要手动创建文件夹。

1
mkdir -p /Users/nanyancc/.jenv/versions/openjdk64-21.0.4