在 macOS 中使用 jEnv 管理多个 Java 版本
在使用 Java 开发时候,经常会接触到不同的版本。比如我大部分的时间使用的都是 Java 8,而有时又想看看 Java 7 的源代码,现在 Java 9、10 都出来了,又想试试新特性。一般情况下都是是配置 JAVA_HOME,以指定特定的 Java 版本,但是这都需要手动输入。每次都要这么重新设置,实在是太痛苦了。终于,我发现了 jEnv - Manage your Java environment
正如它的官网所宣称的那样,它是来让你忘记怎么配置 JAVA_HOME 环境变量的神队友。使用简单的命令就可以在不同的 Java 版本之间进行切换。
基本使用
在 macOS 下使用 Homebrew 安装 jEnv
1 |
|
安装后进行简单的配置,以使 jEnv 生效
使用 bash 的情况
1 |
|
使用 zsh 的情况
1 |
|
好了,jEnv 已经安装好了,让我们来看一下它找见哪个 Java 版本了
1 |
|
它只找到了系统默认的 Java,即使我已经下载了其他版本的 Java。*
表示当前选择的版本。
和 rbenv 不同的是,jEnv 不能自己安装任何版本的 Java,所以需要我们手动安装好之后再用 jEnv 指向它们。
Java 7、8、9 都可以从 Oracle Java Archive 下载到。安装 Java 6,需要在 Apple 进行下载。它们都将安装到/System/Library/Java/JavaVirtualMachines/
下。
使用jenv add
将 Java 8 加入 jEnv 中
1 |
|
运行jenv versions
时会显示
1 |
|
同样将 Java 7 也加入其中
1 |
|
现在运行jenv versions
会显示
1 |
|
对于博主这种不是处女座的人来说,也觉得需要对版本再管理一下,使用jenv remove
可以从 jEnv 中去掉不需要的 Java 版本
1 |
|
整理后,再运行jenv versions
会显示
1 |
|
选择一个 Java 版本,运行jenv local
,例如
1 |
|
DangDangDangDang,我们已经成功地指定了某文件夹中 local 的 Java 版本。(注意:记得取消自己手动设置的JAVA_HOME
)
你可以运行jenv global
设置一个默认的 Java 版本,运行jenv which java
显示可执行的 Java 的完整路径。
你也可以在特定的文件夹下使用. java-version 文件来设定 Java 的版本。当我需要在 Project 中使用 Java 6 时,我仅仅需要把1.6.0.65
作为内容保存在. java-version 文件中,当我进入该文件夹时 jEnv 会自动地帮助我设定 local 的 Java 的版本。
没错,我们现在有了 Java 的多个版本,并且可以在它们之间轻松切换。更多的使用方法可以在 jEnv 官网的官网查询到。