Mac 上管理多个 java 版本

java 版本管理工具 jEnv

jEnv 可以用简单的命令切换 Java 版本,但无法安装任何版本的 Java,所以我们自己必须安装它们,将 jEnv 指向它们。

Linux / OS X

$ git clone https://github.com/gcuisinier/jenv.git ~/.jenv

Mac OS X via Homebrew

$ brew install jenv

设置 JAVA_HOME

Bash

$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile

# JAVA_HOME
$ echo 'JAVA_HOME=`/usr/libexec/java_home`' >> ~/.bash_profile
$ echo 'export JAVA_HOME' >> ~/.bash_profile

Zsh

$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(jenv init -)"' >> ~/.zshrc

# JAVA_HOME
$ echo 'JAVA_HOME=`/usr/libexec/java_home`' >> ~/.zshrc
$ echo 'export JAVA_HOME' >> ~/.zshrc

查看当前 Java 版本

$ echo $JAVA_HOME

另外可以使用 -V 选项列出所有版本的 JAVA_HOME:

$ /usr/libexec/java_home -V

安装不同版本的 Java,并添加到 jEnv

jEnv 安装和配置完成后,先安装 Java 包。

Apple webiste 下载 Java6 来安装。用下面的命令来把它添加到 jEnv:

$ jenv add /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
  oracle64-1.6.0.39 added
$ jenv add /Library/Java/JavaVirtualMachines/jdk17011.jdk/Contents/Home
  oracle64-1.7.0.11 added

运行 jenv versions 将看到:

$ jenv versions
 *system (set by /Users/ajones/.jenv/version)
  oracle64-1.6.0.39
  oracle64-1.7.0.11 (set by /Users/hikage/.jenv/version)

让我们从 Oracle 下载并安装 Java 7。这次他被安装到 /Library/Java/JavaVirtualMachines/,所以用下面的命令把它添加到 jEnv:

jenv add /Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home/

同样,我们也可以使用 Homebrew Cask 安装:

brew cask install java

它将被安装到和 Java 7 相同的位置,因此以相同的方式添加它。

使用 jEnv 管理 Java 版本

列出当前系统已安装的 Java 版本

$ jenv versions
  system
  oracle64-1.6.0.39
 *oracle64-1.7.0.11 (set by /Users/hikage/.jenv/version)

全局配置

$ jenv global oracle64-1.6.0.39

单个项目设置

$ jenv local oracle64-1.6.0.39

shell 设置

$ jenv shell oracle64-1.6.0.39

Mac 上管理多个 Java 版本的解决方案,目前 github 上有 2 个项目:一个是国人的 jenv(有段时间没更新了,2016.1.19),一个是老外的 jEnv

参考

    原文作者:Richie
    原文地址: https://segmentfault.com/a/1190000004332179
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞