JDK多版本随意切换--Jenv配置

在一些情况下,我们需要切换JDK的版本,比如:我们拷贝他人项目,他人项目JDK版本为11,而你自己配置的JDK版本为8,存在不兼容。这个时候我们就需要去调整JDK版本,有没有方法可以一劳永逸,轻松切换JDK呢?答案是Jenv:

什么是Jenv

Jenv项目地址:https://www.jenv.be

按照官网的解释:

jEnv is a command line tool to help you forget how to set the JAVA_HOME environment variable

简单地说:使用一条命令可以轻松配置JAVA_HOME到环境变量。

如何配置Jenv

Github项目地址:https://github.com/jenv/jenv/releases
jenv0.5.5版本下载路径:
镜像下载适用于访问GitHub过慢,或无法访问用户。

下载后,得到jenv-0.5.5.zip压缩文件,使用unzip命令,解压。和上文一样,解压到自己知道路径的地址后,配置环境变量:

vim /etc/profile

我解压的地址是 /opt/jenv/jenv-0.5.5 :

所以,我们环境变量就这样写:

# Jenv
export PATH="/opt/jenv/jenv-0.5.5/bin:$PATH"
eval "$(jenv init -)"

如何使用Jenv

Jenv的使用很简单,利用配置JDK8的方法,我下载了JDK8JDK11JDK17,存储地址分别是 /opt/jdk/jdk8 /opt/jdk/jdk11 /opt/jdk/jdk17,我们添加到Jenv里:

jenv add /opt/jdk/jdk8
jenv add /opt/jdk/jdk11
jenv add /opt/jdk/jdk17

可以看到,jenv自动检录多余的名称。你可以放任不管,但是如果你是“强迫症”人群,可以手动remove多余名称:

jenv remove 名称(一行是一个名称)

之后,使用versions命令,可以看到Jenv管理的JDK版本:

jenv versions


当我们要在当前目录下,调用JDK11时候,终端输入:

jenv local 11


这个时候,输入java -version就是JDK11了:

java -version