熟悉Python的人,看到jenv这个名字就很容易明白这个是做什么的,下面记录一下使用方法
1. 简单概述
jenv是一个Mac os 下的java多版本的管理工具.和Pyenv的作用同一系列的.
需要注意点
和Pyenv不同的是, jenv不能自己安装任何版本的Java,
所以需要我们手动安装好之后再用jEnv指向它们。
2.安装步骤
2.1 手动安装你需要的 Java版本,默认路径即可
2.2 配置
Bash
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
Zsh
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
2.3 添加java路径
$ 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 added
/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/ 是 安装java的路径
如果没有在配置好如上的jenv环境变量的话,在下边的添加JAVA_HOME时会遇到如下错误:
ln: /Users/demo/.jenv/versions/oracle64-1.7.0.45: No such file or directory
如果已经添加但是仍没有生效的话,可以试一下重新加载bash_profile
source ~/.bash_profile
然后重复步骤2.3即可
2.4 删除 java 版本
你会发现添加新版本时,每个版本都会一次性自动加入 3 个不同版本,比如添加 1.8 的时候报告:
oracle64-1.8.0.101 added
1.8.0.101 added
1.8 added
我们没有必要保留这么多版本,其实它们都指向同一个 JDK,我们可以把 1.8 以外的两个版本删除:(没有测试)
$ jenv remove oracle64-1.8.0.101
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
3. 使用
3.1 列出管理的JDK
$ jenv versions
* system (set by /Users/demo/.jenv/version)
1.7
1.7.0.45
1.8
1.8.0.131
oracle64-1.7.0.45
oracle64-1.8.0.131
看起来有点多,但其实就是1.7、1.8两个版本的别名。
3.2. 配置全局Java版本
$ jenv global 1.7
3.3 配置当前目录的Java版本
jenv local 1.7
这种方式会只改变当前所在目录的Java版本,可以通过如下命令取消
jenv local --unset
3.4配置shell实例的版本
这种配置方式,只会影响当前shell窗口。
jenv shell 1.8
3.5 配置JVM Options(暂时不明白)
$ jenv global-options "-Xmx512m"
or
$ jenv local-options "-Xmx512m"
or
$ jenv shell-options "-Xmx512m"