提示
本文介绍在 Mac 系统下使用 jenv 动态切换环境变量。@ermo
# 使用 jenv 动态切换 JDK 版本
现在 Oracle 和 OpenJDK 的版本已经更新到 JDK18 (opens new window) 了,国内大部分的公司还是在使用 JDK8,开发人员电脑肯定会安装多个版本的 JDK。
更换 JDK 版本就要频繁的配置 JDK 环境变量,jenv (opens new window) 就是要解决这个问题,通过 jenv
命令就可以在动态修改环境变量。
# 安装
Mac 系统推荐使用 Homebrew (opens new window) 安装,使用下面的命令:
brew install jenv
安装完成后输入 jenv
进行验证:
jenv 0.5.5
Usage: jenv <command> [<args>]
Some useful jenv commands are:
commands List all available jenv commands
local Set or show the local application-specific Java version
global Set or show the global Java version
shell Set or show the shell-specific Java version
rehash Rehash jenv shims (run this after installing executables)
version Show the current Java version and its origin
versions List all Java versions available to jenv
which Display the full path to an executable
whence List all Java versions that contain the given executable
add Add JDK into jenv. A alias name will be generated by parsing "java -version"
See `jenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/jenv/jenv/blob/master/README.md
然后配置 jenv
环境变量:
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
Mac 安装的的 JDK 目录为 /Library/Java/JavaVirtualMachines/
,可以去 Oracle 官网 (opens new window) 下载 JDK。
通过 jenv add
命令将已经安装好的 JDK 配置到 jenv
中。
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
配置成功控制台会返回:
oracle64-1.8.0.171 added
1.8.0.171 added
1.8 added
通过 jenv versions
查看所有可用的 JDK 版本。
jenv versions
* system (set by /Users/lvtao0420/.jenv/version)
1.8
1.8.0.171
11.0
11.0.9
17.0
17.0.4
oracle64-1.8.0.171
oracle64-11.0.9
oracle64-17.0.4
通过 jenv local
设置当前应用的 JDK 版本。并通过 jenv versions
验证。
jenv local 11.0.9
jenv versions
system
1.8
1.8.0.171
11.0
* 11.0.9 (set by /Users/lvtao0420/openSource/project/myself/ermocc/.java-version)
17.0
17.0.4
oracle64-1.8.0.171
oracle64-11.0.9
oracle64-17.0.4
通过 jenv global
设置全局范围的 JDK 版本。
jenv global 11.0.9
jenv versions
system
1.8
1.8.0.171
11.0
* 11.0.9 (set by /Users/lvtao0420/openSource/project/myself/ermocc/.java-version)
17.0
17.0.4
oracle64-1.8.0.171
oracle64-11.0.9
oracle64-17.0.4
也可以通过 java -version
进行验证:
java -version
java version "11.0.9" 2020-10-20 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.9+7-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.9+7-LTS, mixed mode)