使用jEnv在Mac/Linux环境配置多版本Java
jEnv 是什么?
先来看一下官方介绍
jEnv is a command line tool to help you forget how to set the JAVA_HOME environment variable.
jEnv 是一个可以帮你你忘掉怎么去配置JAVA_HOME环境变量的命令行工具。
简单来说就是一个便于切换Java版本的工具,有了他我们再也不用手动去改环境变量了。
安装
Mac OS X via Homebrew
brew install jenv
Linux / OS X
git clone https://github.com/gcuisinier/jenv.git ~/.jenv
配置
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
如果没有在配置好如上的jEnv环境变量的话,在下边的添加JAVA_HOME时会遇到如下错误:
ln: /Users/demo/.jenv/versions/oracle64-1.7.0.45: No such file or directory
如果已经添加但是仍没有生效的话,可以试一下重新加载bash_profile
source ~/.bash_profile
安装Java
可以去Oracle的官网下载JDK的安装包进行安装。也可以通过Homebrew-Cask来安装。
Homebrew-Cask 是一个基于Homebrew来优雅、简单和快速的安装macOS应用和大型二进制文件的工具。
使用如下命令安装Homebrew-Cask
brew tap caskroom/cask
通过Homebrew-Cask我们可以这样安装Chrome
brew cask install google-chrome
我们也可以一行命令来安装Java
brew cask install java
之前有stackoverflow上的问题mac-os-x-and-multiple-java-versions讲到可以通过Home-Cask安装多个Java版本:
brew cask install java7
brew cask install java6
但其实这种方法已经不可用了,会遇到
Error: Cask 'java7' is unavailable: No Cask with this name exists.
因为 Homebrew-Cask已经移除了Java 7,所以想安装Java 7的话,还是需要去Oracle官网下载。
配置Java
Java安装好之后,使用如下命令:
jenv add /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home
即可成功添加Java配置到 jEnv(如果遇到错误,请检查下前边的环境变量配置)。
Mac的Java默认会安装到 /Library/Java/JavaVirtualMachines/ 路径下。
同样,我们添加好jdk1.8
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/
oracle64-1.8.0.131 added
1.8.0.131 added
1.8 added
使用
列出管理的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两个版本的别名。
配置全局Java版本
$ jenv global 1.7
配置当前目录的Java版本
$ jenv local 1.7
这种方式会只改变当前所在目录的Java版本,可以通过如下命令取消
$ jenv local --unset
配置shell实例的版本
jenv shell 1.8
这种配置方式,只会影响当前shell窗口。
配置JVM Options
$ jenv global-options "-Xmx512m"
or
$ jenv local-options "-Xmx512m"
or
$ jenv shell-options "-Xmx512m"
使用jEnv在Mac/Linux环境配置多版本Java的更多相关文章
- MAC下 JDK环境配置、版本切换以及ADB环境配置
网上方法,自己总结:亲测可行! 一.JDK环境配置.版本切换: 通过命令’jdk6′, ‘jdk7′,’jdk8’轻松切换到对应的Java版本: 1.首先安装所有的JDk:* Mac自带了的JDK6, ...
- rancher说明为什么需要按照指定版本安装以及rancher和节点linux环境配置-docker指定版本安装
rancher说明为什么需要按照指定版本安装以及rancher和节点linux环境配置-docker指定版本安装 待办 https://blog.csdn.net/CSDN_duomaomao/art ...
- Android JNI MAC OS环境配置
前言—JNI技术简介 JNI是Java Native Interface的缩写,即“Java本地调用”,它是Java世界和Native世界的中介桥梁.其中Native世界一般指C/C++的世界.众所周 ...
- JMeter学习-038-JMeter Linux 环境配置
1.1.下载 Download URL:http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-3.0.tg ...
- mac mysql环境配置
安装mysql:http://www.mysql.com/downloads/ 找到 MySQL Community Edition (GPL) Community (GPL) Downloads » ...
- ProtocolBuffer for Objective-C Mac运行环境配置
上班第4天,上司让我研究Google的Protocol Buffer,对于我这个小白来说这是一大难题.结合了一下网上资料,用了几个小时的时间,终于搞明白了.做个笔记,也当做资料给大家分享一下. 什么是 ...
- mac phpstrom 环境配置
因为mac下自带php,但是没有环境(ini文件)所有需要自己重新安装一下: curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5 # 5.5 ...
- linux环境配置nginx导致页面不刷新
在linux环境下,配置了nginx负载均衡,由于可能在虚拟主机的配置文件nginx.conf中,对缓存机制未配置成功,导致页面不刷新,仍然显示缓存中的内容. 最后通过注释nginx.conf文件中的 ...
- Mac开发环境配置 就喜欢折腾
暑假放假,开始用自己的电脑配置开发环境进行学习. 虚拟机安装VMware tools也遇到一些问题.折腾之后解决,遇到各种问题,谷歌后都能解决. 折腾了几天虚拟机下的Ubuntu,发现mac带虚拟机太 ...
随机推荐
- 不输入密码执行SUDO命令
假如我们需要用户名nenew执行sudo时不用输入密码 1.打开sudoers: visudo /etc/sudoers 2.在文件的最后一行添加: nenew ALL=(ALL) NOPASS ...
- sort排序用法
Python] sorted函数 我们需要对List.Dict进行排序,Python提供了两个方法对给定的List L进行排序,方法1.用List的成员函数sort进行排序,在本地进行排序,不返回副本 ...
- 探索Visual Studio生成的.vs文件夹内部结构和作用
这里直接先将我摸索出的结果贴出来,文章后面会一一详细说明和分析:.vs目录是用来存储当前用户在解决方案中的工作配置,具体包括VS关闭前最后的窗口布局.最后打开的选项卡/操作记录/文件文档.某些自定义配 ...
- Invalid tld file: "/WEB-INF/tags/xxxt.tld", see JSP 2.2 specification section 7.3.1 for more details
错误描述 在jsp页面引入了自定义的TLD文件的时候,碰到了一个错误 Invalid tld file: "/WEB-INF/tags/xxxt.tld", see JSP 2.2 ...
- Java设计模式之建造者模式(生成器模式)
建造者模式: 也叫生成器模式.用来隐藏复合对象的创建过程,他把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象. 总结一句就是封装一个对象的构造过程,并允许按步骤构造 ...
- Linux中的 openssl-opensslv
问题 在安装内核模块系统突然出现以下错误 寻找问题 一开始我以为是openssl没有安装,故先进行openssl的检查: 输入yum info openssl 从图中可知,openssl是已经安装过了 ...
- 【C语言程序】基因编码
输入一个长为n=2k(k≤8)01串s,按照"ABC编码规则"进行编码,ABC编码规则是: A //若s串全是0 T(s)= ...
- HTML入门2
开始将注意力转移到具体的元素里和页面了. 在页面加载完成的时候,标签head里的内容不会显示出来,包含了页面的title和css样式以及一些元素据信息,比如作者,描述文档,下面将具体分析html文档里 ...
- [bzoj1051]Popular Cows
刚刚被ysy在联考里虐了,差点爆tan(pi/4),只好来bzoj寻求安慰再被虐一次233 (tarjan是什么智障东西不想打我好弱啊,tarjan都不会打) Description 每一头牛的愿望就 ...
- __x__(35)0908第五天__ 层级 z-index
如果三个 div 全部设置 position: absolute; 绝对定位,且未设置 z-index, 则从代码结构上 下面的元素 会盖住 上面的元素. z-index 层级: 通过 z-i ...