使用 jEnv 管理多个 Java 版本

引言

jEnv 是一个轻量级的工具,它允许你在同一台机器上轻松切换不同版本的 Java 环境。这对于开发多个项目,其中每个项目都依赖于不同版本的 Java 特别有用。以下是一个 MacOS 系统下详细的 jEnv 使用教程,包括安装、配置和日常使用。

安装 jEnv

在 MacOS 上:

如果使用的是 macOS,可以通过 Homebrew 安装 jEnv

1
brew install jenv

如果没有 Homebrew,使用下面的命令傻瓜式安装 Homebrew

1
/bin/bash -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

在 Linux 上:

在 Linux 系统上,你需要从 GitHub 克隆 jEnv 的仓库:

1
git clone https://github.com/jenv/jenv.git ~/.jenv

由于作者使用的是 MacOS Sequoia 15.1 系统,所以接下来将主要讲解在 MacOS 上的 jEnv 操作。

配置 jEnv

安装 jEnv 后,需要将 jEnv 的 bin 目录添加到你的环境变量中,并初始化 jEnv。打开系统的 Shell 配置文件(.bashrc、.bash_profile、.zshrc 等,作者使用的是 .zshrc 环境),然后添加以下两行内容:

1
2
export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"

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

1
source ~/.zshrc  # 或适用的配置文件

在 MacOS 系统下,以 . 开头的文件会被默认隐藏,使用Shift + Command + . 可以快速切换隐藏文件可见性。

添加 Java 版本到 jEnv

安装并配置 jEnv 后,你可以开始添加已安装的 Java 版本。首先,确保你已经安装了需要的 Java 版本。

使用以下命令将 Java 版本添加到 jEnv 中:

1
jenv add /path/to/java/home

例如,如果你安装了 JDK 8 和 JDK 11,可以这样添加:

1
2
jenv add /usr/lib/jvm/java-8-openjdk-amd64
jenv add /usr/lib/jvm/java-11-openjdk-amd64

使用 jEnv 切换 Java 版本

添加 Java 版本到 jEnv 后,你可以轻松切换当前使用的 Java 版本。

列出所有可用的 Java 版本

1
jenv versions

设置全局 Java 版本

1
jenv global 1.8

设置局部(项目级)Java 版本

1
jenv local 11.0

设置 Shell 级 Java 版本

1
jenv shell 11.0

验证当前使用的 Java 版本

在切换 Java 版本后,你可能想要验证当前使用的是哪个版本。可以使用以下命令:

1
java -version

或者

1
jenv version

高级配置

设置 JAVA_HOME

jEnv 也可以帮助你管理 JAVA_HOME 环境变量。要自动设置 JAVA_HOME,可以在你的 Shell 配置文件中添加以下内容:

1
export JAVA_HOME="$(jenv prefix)"

或者

1
jenv enable-plugin export

这样,JAVA_HOME 环境变量将会自动更新为 jEnv 当前选定的 Java 版本的路径。

总结

jEnv 是一个强大且灵活的工具,可以帮助你管理和切换多个 Java 版本。通过以上步骤,你应该能够在你的开发环境中轻松地安装和配置 jEnv,并根据需要切换不同的 Java 版本。这使得在同一台机器上处理多个依赖于不同 Java 版本的项目变得简单方便。

记得经常使用 jenv update 命令(如果通过 Git 安装的话)来保持 jEnv 的最新状态,确保你可以享受到最新的特性和改进。


主要参考

使用 jEnv 管理多个 Java 版本

作者:Stack Stone