博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mac上使用Jenv管理多个JDK版本
阅读量:6242 次
发布时间:2019-06-22

本文共 1832 字,大约阅读时间需要 6 分钟。

使用Java时会接触到不同的版本。大多数时候我在使用Java 8,但是因为某些框架或是工具的要求,这时不得不让Java 7上前线。一般情况下是配置JAVA_HOME,指定不同的Java版本,但是这需要人为手动的输入。如果又要选择其他版本,就需要对JAVA_HOME重新进行设置。终于,我发现了JEnv。

正如它的官网所宣称的那样,它是来让你忘记怎么配置JAVA_HOME环境变量的神队友。使用简单的命令就可以在不同的Java版本之间进行切换。如果你使用过rbenv,你会发现JEnv就如同rbenv的Java版一样。

基本使用: 在Mac OS下使用Homebrew安装JEnv:

> brew install jenv

安装成功后需要进行一下简单的配置,让它可以起作用:

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

好了,JEnv已经安装好了,让我们来看一下它找见哪个Java版本了:

> jenv versions* system (set by /Users/bxpeng/.jenv/version)

它只找到了系统默认的Java,*表示当前选择的版本。尽管我已经下载了其他版本的Java,但是它并不会自动发现

和rbenv不同的是,JEnv不能自己安装任何版本的Java,所以需要我们手动安装好之后再用JEnv指向它们。

安装Java 7,可以在Oracle进行下载.它将安装到/Library/Java/JavaVirtualMachines/下;
安装Java 8,可以在Oracle进行下载.它将安装到/Library/Java/JavaVirtualMachines/下。

使用jenv add将Java 7、Java 8加入jenv中:

> jenv add /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/1.7 added1.7.0.71 addedoracle64-1.7.0.71 added
> jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/1.8 added1.8.0.25 addedoracle64-1.8.0.25 added

现在运行jenv versions会显示:

> jenv versions* system (set by /Users/bxpeng/.jenv/version)  1.7  1.7.0.71  oracle64-1.7.0.71  1.8  1.8.0.25  oracle64-1.8.0.25

对于多余的版本使用jenv remove可以从jEnv中去掉不需要的Java版本:

> jenv remove 1.6JDK 1.6 removed

整理后,再运行jenv versions会显示:

> jenv versions* system (set by /Users/bxpeng/.jenv/version)  1.7.0.71  1.8.0.25

选择一个Java版本,运行jenv local,例如:

> jenv local 1.8.0.25> java -versionjava version "1.8.0_25"Java(TM) SE Runtime Environment (build 1.8.0_25-b17)Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

OK,我们已经成功地指定了某文件夹中local的Java版本。我们也可以运行jenv global设置一个默认的Java版本,运行jenv which java显示可执行的Java的完整路径。

你也可以在特定的文件夹下使用.java-version文件来设定Java的版本。当我需要在Project中使用Java 7时,仅仅需要把1.7.0.71作为内容保存在.java-version文件中,当进入该文件夹时,JEnv会自动地帮助我设定local的Java的版本。

转载地址:http://zkcia.baihongyu.com/

你可能感兴趣的文章
用父类指针指向子类对象
查看>>
Flexigrid默认是可以选择多行
查看>>
PHP导入导出Excel方法小结
查看>>
ZOJ 3870 Team Formation 位运算 位异或用与运算做的
查看>>
清除浮动float的方法
查看>>
java学习第十二天
查看>>
1 Kubernetes管理之master和Node
查看>>
M端计算rem方法
查看>>
as3 用StyleSheet css 设置文本样式
查看>>
hdu4612(双连通缩点+树的直径)
查看>>
【转】深入理解 C# 协变和逆变
查看>>
第六次作业
查看>>
UML
查看>>
9.[Java开发之路](6)File类的使用
查看>>
折半插入排序(binary insertion sort)
查看>>
打包常见问题
查看>>
javascript解析json
查看>>
在Ubuntu下编译WebKit源码
查看>>
amazeui 移动开发
查看>>
python2 与python3中最大的区别(编码问题bytes&str
查看>>