macOS jenv 的使用
jenv 是一个命令行工具,用于管理多个 Java 环境。它可以帮助我们自动设置 JAVA_HOME
变量。通过 jenv 开发者可以为每个项目设置不同的 JDK 版本,这在多个使用不同版本 JDK 的项目中非常有用。
jenv 提供的主要功能包括:
- JDK 版本管理:列出和切换不同的 JDK 版本。
- 全局配置:允许全局配置和切换 JDK 版本。
- 目录级配置:也称项目级配置,允许为不同的 Java 项目配置和切换 JDK 版本。
- shell 级配置:允许在当前 shell 中配置和切换 JDK 版本。
- 自动设置环境变量
但是 jenv 不会自动安装 JDK,它仅仅是管理本机已存在的 JDK 版本,这一点和 nvm
不同,nvm
可以从远程安装 Node。
安装 jenv
macOS 下建议使用 Homebrew 安装 jenv:
1 |
|
配置 jenv
根据不同的 shell 选择不同的命令。
1 |
|
要让 jenv 自动设置 JAVA_HOME,需要启用 export
插件:
1 |
|
添加 JDK
macOS 安装的 JDK 存放位置在 /Library/Java/JavaVirtualMachines
或 ~/Library/Java/JavaVirtualMachines
下,后者通常是 IDEA 安装的 JDK 位置。
使用 jenv add /jdk/path/
命令管理此 JDK 版本:
1 |
|
可以看到 jenv 将 openjdk 21.0.2 识别成了四个版本,这四个版本其实都对应同一个 JDK。
查看已管理的 JDK
使用 jenv versions
命令查看由 jenv 管理的 JDK:
1 |
|
设置 JDK 版本
jenv 可以设置三个级别的 JDK 版本:
global
全局级别,最低优先级local
目录级别shell
当前 shell 级别,最高优先级
用法:
1 |
|
移除已添加的 JDK
1 |
|
在上面添加 JDK 章节中说到,由于 jenv 添加 JDK 时,对同一个版本添加了好几个,所以移除 JDK 时也要移除好几个版本。
参考
- jenv GitHub https://github.com/jenv/jenv
macOS jenv 的使用
https://cui.cc/macos-jenv/