OS X中Java版本管理工具jEnv

来源:互联网 发布:香港大学网络教育报名 编辑:程序博客网 时间:2024/05/29 18:32

 

 

我们经常需要在Mac中用到多个版本的JDK,6 在Apple下载,7 和 8 要从Oracle下载。

自己安装的jdk安装目录:/Library/Java/JavaVirtualMachines 



 

如果你不是通过系统偏好中的 Java 控制面板进行升级,那么你需要手动配置 JAVA_HOME,以指定不同的Java版本。否则,当你安装完新版本 JDK 后,你会发现 java -version 命令显示的仍然还是升级之前的版本。而手动配置 JAVA_HOME,还是比较麻烦的。

 

jenv 是一个专门用于配置 JAVA_HOME 环境变量工具。你可以用它来管理 Mac 上的 Java 版本。

1、安装

$ brew install jenv

 

2、配置

使用Bash情况:

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

 

这将在 ~/.bash_profile 文件中追加一个 export 命令和 eval 命令。前者追加 jenv 的路径到环境变量 PATH 中,后者执行 jenv init -命令。这样每打开一个 bash 终端窗就可以调用 jenv 命令,并且默认执行一次 jenv init - 命令了。

 

使用Zsh情况:

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

 

 

3、查看 java 版本

$ jenv versions* system (set by /Users/cactus/.jenv/version)

 

可以看到 jenv 只列出了系统内置的 Java 版本(system),因为其它两个版本虽然安装了,但需要我们手动添加到 jenv 中,这样 jenv 才能管理它们。*表示当前选择的版本。

 

4、添加java版本到jenv

$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home$ jenv add /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home

 

 

5、指定java版本 (per directory)

$ jenv local 1.8.0.121

 

 

然后查看下版本切换成功:

$ jenv versions  system  1.7  1.7.0.80  1.8* 1.8.0.121 (set by /Users/cactus/.java-version)  oracle64-1.7.0.80  oracle64-1.8.0.121

 

$ java -versionjava version "1.8.0_121"Java(TM) SE Runtime Environment (build 1.8.0_121-b13)Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)yangjundeMacBook-Pro:~ yangjunzhu$ 

 

6、显示当前版本Java的完整路径

$ jenv which java/Users/cactus/.jenv/versions/1.8.0.121/bin/java

 

这当然不是真实的路径,而是一个硬链接。你可以找到 /Users/cactus/.jenv/versions/ 目录,发现所有的 java 版本都被列在了这里,这些硬链接(相当于 windows 的快捷方式)都指向了对应的 java 安装目录。

 

7、删除 java 版本

$ jenv remove oracle64-1.8.0.121

 

8、指定全局版本

$ jenv global 1.8.0.121

 这样,默认的 java 版本就是 1.8.0.121 了。

 

9、

如果你想在某个项目中使用 1.7 版本,可以在项目文件夹下新建一个.java-version 文件,将文件内容编辑为  保存。这样,你进入这个文件夹时 jenv 会自动使用 1.7 作为当前版本(即 local 版本)。

 

 

官网:

http://www.jenv.be/

 源码:

https://github.com/gcuisinier/jenv

ps:如果遇到报错,可以sudo

 

 

 

 

 

 

 

 

  • 大小: 241.4 KB
  • 查看图片附件
原创粉丝点击