Mac 下的 Java 版本管理工具 jenv
2017-01-10 23:19
471 查看
我们经常会在 Mac 中安装不同的 JDK 版本。默认 OSX 自带的版本是 JDK 1.6,但后来我们可能还会安装 1.7。最近又升级到了 1.8.0.101。
而且不同的 JDK 版本下载的地方都不太一样,Java 6 在Apple下载,7 和 8 要从 Oracle 下载。
所以你的系统中可能同时存在 3 个以上版:1.6、1.7、1.8。如果你的系统和笔者一样是 Yosemite,那么你会在 /System/Library/Java/JavaVirtualMachines/
目录下找到系统内置的 Java 版本:
2
1
2
在 /Library/Java/JavaVirtualMachines/ 文件夹下找到后两个版本:
2
1
2
如果你不是通过系统偏好中的 Java 控制面板进行升级,那么你需要手动配置
JAVA_HOME,还是比较麻烦的。
这样,就轮到本文的主角出场了。
正其所宣称的,jenv 是一个专门用于配置 JAVA_HOME 环境变量工具。你可以用它来管理 Mac 上的 Java 版本。
命令
2
1
2
这将在 ~/.bash_profile 文件中追加一个 export 命令和 eval 命令。前者追加 jenv 的路径到环境变量 PATH 中,后者执行 jenv init -命令。这样每打开一个 bash 终端窗就可以调用 jenv 命令,并且默认执行一次 jenv init - 命令了。
可以用 jenv -versions 命令查看一下当前 java 版本:
2
1
2
可以看到 jenv 只列出了系统内置的 Java 版本(system),因为其它两个版本虽然安装了,但需要我们手动添加到 jenv 中,这样 jenv 才能管理它们。
使用 jenv add 添加 JDK 1.7:
2
3
4
1
2
3
4
还记得你的 JDK 1.7 安装目录吗,它是 /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk 目录。
再添加 JDK 1.8:
2
3
4
1
2
3
4
记得把 1.8 的路径换一下,换成你自己的路径。
你会发现添加新版本时,每个版本都会一次性自动加入 3 个不同版本,比如添加 1.8 的时候报告:
2
3
1
2
3
我们没有必要保留这么多版本,其实它们都指向同一个 JDK,我们可以把 1.8 以外的两个版本删除:
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
这样就清爽多了。
这要用 jenv local 命令:
2
3
4
5
6
1
2
3
4
5
6
这样当前版本就变成 1.8 了,你可以看一下:
2
3
4
1
2
3
4
你要是想查看当前版本在硬盘上的哪个位置,可以用 jenv which java:
2
1
2
这当然不是真实的路径,而是一个硬链接。你可以找到 /Users/kmyhy/.jenv/versions/ 目录,发现所有的 java 版本都被列在了这里,这些硬链接(相当于 windows 的快捷方式)都指向了对应的 java 安装目录。
你还可以指定一个全局的版本:
1
这样,默认的 java 版本就是 1.8 了。如果你想在某个项目中使用 1.6 版本,可以在项目文件夹下新建一个.java-version 文件,将文件内容编辑为 1.6.0.65 保存。这样,你进入这个文件夹时 jenv 会自动使用 1.6 作为当前版本(即 local 版本)。
而且不同的 JDK 版本下载的地方都不太一样,Java 6 在Apple下载,7 和 8 要从 Oracle 下载。
所以你的系统中可能同时存在 3 个以上版:1.6、1.7、1.8。如果你的系统和笔者一样是 Yosemite,那么你会在 /System/Library/Java/JavaVirtualMachines/
目录下找到系统内置的 Java 版本:
$ ls /System/Library/Java/JavaVirtualMachines/ 1.6.0.jdk1
2
1
2
在 /Library/Java/JavaVirtualMachines/ 文件夹下找到后两个版本:
$ ls /Library/Java/JavaVirtualMachines/ jdk1.7.0_71.jdk jdk1.8.0_101.jdk1
2
1
2
如果你不是通过系统偏好中的 Java 控制面板进行升级,那么你需要手动配置
JAVA_HOME,以指定不同的Java版本。否则,当你安装完新版本 JDK 后,你会发现 java -version 命令显示的仍然还是升级之前的版本。而手动配置
JAVA_HOME,还是比较麻烦的。
这样,就轮到本文的主角出场了。
正其所宣称的,jenv 是一个专门用于配置 JAVA_HOME 环境变量工具。你可以用它来管理 Mac 上的 Java 版本。
1. 安装 jenv
命令 $ brew install jenv,安装完成后你需要配置一下 jenv:
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(jenv init -)"' >> ~/.bash_profile1
2
1
2
这将在 ~/.bash_profile 文件中追加一个 export 命令和 eval 命令。前者追加 jenv 的路径到环境变量 PATH 中,后者执行 jenv init -命令。这样每打开一个 bash 终端窗就可以调用 jenv 命令,并且默认执行一次 jenv init - 命令了。
2. 查看 java 版本
可以用 jenv -versions 命令查看一下当前 java 版本:$ jenv versions * system (set by /Users/kmyhy/.jenv/version)1
2
1
2
可以看到 jenv 只列出了系统内置的 Java 版本(system),因为其它两个版本虽然安装了,但需要我们手动添加到 jenv 中,这样 jenv 才能管理它们。
3. 添加新的 java 版本
使用 jenv add 添加 JDK 1.7:$ jenv add /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/ oracle64-1.7.0.71 added 1.7.0.71 added 1.7 added1
2
3
4
1
2
3
4
还记得你的 JDK 1.7 安装目录吗,它是 /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk 目录。
再添加 JDK 1.8:
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home oracle64-1.8.0.101 added 1.8.0.101 added 1.8 added1
2
3
4
1
2
3
4
记得把 1.8 的路径换一下,换成你自己的路径。
4. 删除 java 版本
你会发现添加新版本时,每个版本都会一次性自动加入 3 个不同版本,比如添加 1.8 的时候报告:oracle64-1.8.0.101 added 1.8.0.101 added 1.8 added1
2
3
1
2
3
我们没有必要保留这么多版本,其实它们都指向同一个 JDK,我们可以把 1.8 以外的两个版本删除:
$ jenv remove oracle64-1.8.0.1011
JDK oracle64-1.8.0.101 removed
$ jenv versions * system (set by /Users/kmyhy/.jenv/version)
1.8
1.8.0.101
$ jenv remove 1.8.0.101
...
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
这样就清爽多了。
5. 指定 Java 版本
这要用 jenv local 命令:$ jenv local 1.8 $ jenv versions system * 1.8 (set by /Users/kmyhy/.java-version) 1.8.0.1011
2
3
4
5
6
1
2
3
4
5
6
这样当前版本就变成 1.8 了,你可以看一下:
$ java -version java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)1
2
3
4
1
2
3
4
你要是想查看当前版本在硬盘上的哪个位置,可以用 jenv which java:
$ jenv which java /Users/kmyhy/.jenv/versions/1.8/bin/java1
2
1
2
这当然不是真实的路径,而是一个硬链接。你可以找到 /Users/kmyhy/.jenv/versions/ 目录,发现所有的 java 版本都被列在了这里,这些硬链接(相当于 windows 的快捷方式)都指向了对应的 java 安装目录。
你还可以指定一个全局的版本:
$ jenv global 1.81
1
这样,默认的 java 版本就是 1.8 了。如果你想在某个项目中使用 1.6 版本,可以在项目文件夹下新建一个.java-version 文件,将文件内容编辑为 1.6.0.65 保存。这样,你进入这个文件夹时 jenv 会自动使用 1.6 作为当前版本(即 local 版本)。
相关文章推荐
- Mac 下的 Java 版本管理工具 jenv
- Mac 下的 Java 版本管理工具 jenv
- mac 上使用jenv 管理的多个java 版本
- OS X中Java版本管理工具jEnv
- 在Mac OS X中使用jenv管理多个Java版本
- MAC如果管理多个java版本
- Mac管理多个Java版本
- mac多版本python管理工具pyenv
- 使用 Jenv 让所有 Java 开发工具同时运行多个版本
- Java environment manager Java多版本管理工具
- node版本管理工具nvm-Mac下安装及使用
- FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,Mac OS X,Linux,版本2.8.1
- 在OS X中使用jEnv管理多个Java版本
- mac 10.10.4 Yosemite jenv 多版本 java 安装 切换
- Java初学者:图书管理小工具(MySQL版本)代码
- svn(Subversion)版本管理工具入门介绍
- 主流源码版本管理工具的特色浅析
- 版本管理客户端工具
- 搭建本地SVN版本管理工具
- 几个实用的软件开发工具之——版本管理工具