Mac上使用Jenv管理多个JDK版本

使用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 added
1.7.0.71 added
oracle64-1.7.0.71 added
> jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/
1.8 added
1.8.0.25 added
oracle64-1.8.0.25 added

现在运行jenv versions会显示:

> jenv versions
* system (set by /Users/bxpeng/.jenv/version)1.71.7.0.71oracle64-1.7.0.711.81.8.0.25oracle64-1.8.0.25

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

> jenv remove 1.6
JDK 1.6 removed

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

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

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

> jenv local 1.8.0.25
> java -version
java 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的版本。



欢迎订阅「K叔区块链」 - 专注于区块链技术学习

博客地址:http://www.jouypub.com
简书主页:https://www.jianshu.com/u/756c9c8ae984
segmentfault主页:https://segmentfault.com/blog/jouypub
腾讯云主页:https://cloud.tencent.com/developer/column/72548

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/389970.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

交互式和非交互式_发布交互式剧情

交互式和非交互式Python中的Visual EDA (Visual EDA in Python) I like to learn about different tools and technologies that are available to accomplish a task. When I decided to explore data regarding COVID-19 (Coronavirus), I knew that I would want the abilit…

电子表格转换成数据库_创建数据库,将电子表格转换为关系数据库,第1部分...

电子表格转换成数据库Part 1: Creating an Entity Relational Diagram (ERD)第1部分:创建实体关系图(ERD) A Relational Database Management System (RDMS) is a program that allows us to create, update, and manage a relational database. Structured Query …

【Vue.js学习】生命周期及数据绑定

一、生命后期 官网的图片说明: Vue的生命周期总结 var app new Vue({el:"#app", beforeCreate: function(){console.log(1-beforeCreate 初始化之前);//加载loading},created: function(){console.log(2-created 创建完成);//关闭loading},be…

Springboot(2.0.0.RELEASE)+spark(2.1.0)框架整合到jar包成功发布(原创)!!!

一、前言 首先说明一下,这个框架的整合可能对大神来说十分容易,但是对我来说十分不易,踩了不少坑。虽然整合的时间不长,但是值得来纪念下!!!我个人开发工具比较喜欢IDEA,创建的sprin…

求一个张量的梯度_张量流中离散策略梯度的最小工作示例2 0

求一个张量的梯度Training discrete actor networks with TensorFlow 2.0 is easy once you know how to do it, but also rather different from implementations in TensorFlow 1.0. As the 2.0 version was only released in September 2019, most examples that circulate …

zabbix网络发现主机

1 功能介绍 默认情况下,当我在主机上安装agent,然后要在server上手动添加主机并连接到模板,加入一个主机组。 如果有很多主机,并且经常变动,手动操作就很麻烦。 网络发现就是主机上安装了agent,然后server自…

python股市_如何使用python和破折号创建仪表板来主导股市

python股市始终关注大局 (Keep Your Eyes on the Big Picture) I’ve been fascinated with the stock market since I was a little kid. There is certainly no shortage of data to analyze, and if you find an edge you can make some easy money. To stay on top of the …

阿里巴巴开源 Sentinel,进一步完善 Dubbo 生态

为什么80%的码农都做不了架构师?>>> 阿里巴巴开源 Sentinel,进一步完善 Dubbo 生态 Sentinel 开源地址:https://github.com/alibaba/Sentinel 转载于:https://my.oschina.net/dyyweb/blog/1925839

离群值如何处理_有理处理离群值的局限性

离群值如何处理ARIMA models can be quite adept when it comes to modelling the overall trend of a series along with seasonal patterns.ARIMA模型可以很好地建模一系列总体趋势以及季节性模式。 In a previous article titled SARIMA: Forecasting Seasonal Data with P…

10生活便捷:购物、美食、看病时这样搜,至少能省一半心

本次课程介绍实实在在能够救命、省钱的网站,解决了眼前这些需求后,还有“诗和远方”——不花钱也能点亮自己的生活,获得美的享受! 1、健康医疗这么搜,安全又便捷 现在的医疗市场确实有些混乱,由于医疗的专业…

ppt图表图表类型起始_梅科图表

ppt图表图表类型起始There are different types of variable width bar charts but two are the most popular: 1) Bar Mekko chart; 2) Marimekko chart.可变宽度条形图有不同类型,但最受欢迎的有两种:1)Mekko条形图; 2)Marimekko图表。 Th…

Tomcat日志乱码了怎么处理?

【前言】 tomacat日志有三个地方,分别是Output(控制台)、Tomcat Localhost Log(tomcat本地日志)、Tomcat Catalina Log。 启动日志和大部分报错日志、普通日志都在output打印;有些错误日志,在Tomcat Localhost Log。 三个日志显示区,都可能…

5888. 网络空闲的时刻

5888. 网络空闲的时刻 给你一个有 n 个服务器的计算机网络,服务器编号为 0 到 n - 1 。同时给你一个二维整数数组 edges ,其中 edges[i] [ui, vi] 表示服务器 ui 和 vi 之间有一条信息线路,在 一秒 内它们之间可以传输 任意 数目的信息。再…

django框架预备知识

内容: 1.web预备知识 2.django介绍 3.web框架的本质及分类 4.django安装与基本设置 1.web预备知识 HTTP协议:https://www.cnblogs.com/wyb666/p/9383077.html 关于web的本质:http://www.cnblogs.com/wyb666/p/9034042.html 如何自定义web框架…

现实世界 机器学习_公司沟通分析简介现实世界的机器学习方法

现实世界 机器学习In my previous posts I covered analytical subjects from a scientific point of view, rather than an applied real world problem. For this reason, this article aims at approaching an analytical idea from a managerial point of view, rather tha…

拷贝构造函数和赋值函数

1、拷贝构造函数:用一个已经有的对象构造一个新的对象。 CA(const CA & c )函数的名称必须和类名称相一致,它的唯一的一个参数是本类型的一个引用变量,该参数是const 类型,不可变。 拷贝构造函数什么时…

Chrome keyboard shortcuts

2019独角兽企业重金招聘Python工程师标准>>> Chrome keyboard shortcuts https://support.google.com/chrome/answer/157179?hlen 转载于:https://my.oschina.net/qwfys200/blog/1927456

数据中心细节_当细节很重要时数据不平衡

数据中心细节定义不平衡数据 (Definition Imbalanced Data) When we speak of imbalanced data, what we mean is that at least one class is underrepresented. For example, when considering the problem of building a classifier, let’s call it the Idealisstic-Voter.…

辛普森悖论_所谓的辛普森悖论

辛普森悖论We all know the Simpsons family from Disneyland, but have you heard about the Simpson’s Paradox from statistic theory? This article will illustrate the definition of Simpson’s Paradox with an example, and show you how can it harm your statisti…

查看NVIDIA使用率工具目录

2019独角兽企业重金招聘Python工程师标准>>> C:\Program Files\NVIDIA Corporation\Display.NvContainer\NVDisplay.Container.exe 转载于:https://my.oschina.net/u/2430809/blog/1927560