jenv java_mac 上使用jenv 管理的多个java 版本

由于服务器是java1.7, mac上是1.8,因此mac编译的java代码会在服务器上报错。因此,需要修改mac上java版本,自己折腾了很久,放弃,决定使用jenv 管理! 结果是非常方便

使用步骤:

1、安装 jenv

2、安装各个版本的java

3、设置java路径

4、关闭控制台,重新打开(restart a new console after adding configuring the jenv)

5、 jenv local ***** (记住这个命令,经常使用。前面的步骤都是一劳永逸的。)

下文是转载,感谢原作者。

http://boxingp.github.io/blog/2015/01/25/manage-multiple-versions-of-java-on-os-x/

基本使用:

在Mac OS X下使用Homebrew安装jEnv:

$ brew install 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版本了:

$ jenv versions

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

它只找到了系统默认的Java,即使我已经下载了其他版本的Java。*表示当前选择的版本。

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

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

使用jenv add将Java 6加入jenv中:

$ jenv add /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/

1.6 added

1.6.0.65 added

oracle64-1.6.0.65 added

运行jenv versions时会显示:

$ jenv versions

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

1.6

1.6.0.65

oracle64-1.6.0.65

同样的,使用jenv add将Java 7加入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.6

1.6.0.65

oracle64-1.6.0.65

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.6

JDK 1.6 removed

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

$ jenv versions

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

1.6.0.65

1.7.0.71

1.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)

DangDangDangDang,我们已经成功地指定了某文件夹中local的Java版本。

你可以运行jenv global设置一个默认的Java版本,运行jenv which java显示可执行的Java的完整路径。

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

没错,我们现在有了Java的多个版本,并且可以在它们之间轻松切换。更多的使用方法可以在jEnv官网的官网查询到。

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

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

相关文章

mysql 源码 缓存_MySQL源码:MYSQL存储过程/函数的分析原理及缓存机制

前言:我个人认为,有关MYSQL存储过程/函数在MYSQL中的实现比较粗糙,可扩展性不够好,其实现的耦合性太高,所以主要讲一些它的原理方面的内容,但有可能在某些方面理解不够好或者有些不正确的地方,欢…

如何单元测试Java的private方法

问题 Java类中private方法通常只能被其所属类的调用,其他类只能望而却步,单元测试private方法也就一筹莫展。 尝试解法: 在测试时,手动将private改为public,测试完后再将其改回。将测试方法写进private方法的所属类…

图论与java_算法笔记_150:图论之双连通及桥的应用(Java)

1 问题描述DescriptionIn order to get from one of the F (1 < F < 5,000) grazing fields (which are numbered 1..F) to another field, Bessie and the rest of the herd are forced to cross near the Tree of Rotten Apples. The cows are now tired of often bein…

如何用JUnit单元测试List

问题 JUnit测试List时差强人意。 解法 引入依赖 hamcrest-library包含许多有用方法来测试List数据类型。 <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version>&l…

java数据包解析_请教http请求数据包如何解析 重组

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼下面是我捕获到的请求报文片段dst_ip:/121.52.228.134ack:trueack_num:3064957366date:POST /messagebroker/amf HTTP/1.1Host: s16.xxhzw.game.yy.comUser-Agent: Mozilla/5.0 (Windows NT 5.1; rv:13.0) Gecko/20100101 Firefox/…

webqq java_WebQQ登录详解

第二次登录请求方式:POST地址:http://d.web2.qq.com/channel/login2POST正文:r%7B%22status%22%3A%22online%22%2C%22ptwebqq%22%3A%22{0}%22%2C%22passwd_sig%22%3A%22%22%2C%22clientid%22%3A%22{1}%22%2C%22  psessionid%22%3Anull%7D&clientid{2}&psessionidnull…

LeetCode - Easy - 155. Min Stack

Topic StackDesign Description https://leetcode.com/problems/min-stack/ Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. push(x) – Push element x onto stack.pop() – Removes the element on top of the st…

java judgefilecode_VScode出现无法打开“X”: 找不到文件(file:///XXXX) 的解决办法

如标题&#xff0c;被这个问题整了好长时间了&#xff0c;调试的时候如果有语法错误只能显示相应的的行数&#xff0c;没有办法定位到出错的行数上。(由于用处不是很大并且没有找到解决办法&#xff0c;所以就一直放着没管23333)直到最近看到一位大佬的解决办(重写正则表达式)法…

LeetCode - Easy - 169. Majority Element

Topic ArrayDivide and ConquerBit Manipulation Description https://leetcode.com/problems/majority-element/ Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times. You may assume t…

java 静态方法 异常_java空指针异常与静态方法

从一道经典面试题说起&#xff0c;public class HaHa {public static void haha(){System.out.println("haha");}public static void main(String[] args){((HaHa)null).haha();}}打印结果 haha。这段题考查两点知识&#xff0c;java的空指针异常和静态方法。1&#…

java中的asList_Java中的Arrays.asList()方法

Arrays.asList()返回一个List&#xff0c;但是这种情况下&#xff0c;其底层的实现是一个final数组&#xff0c;因此不能调整其尺寸如下代码片段&#xff1a;package chapter11.t1;import java.util.*;public class AddingGroups {public static void main(String[] args) {Lis…

java控制面板作用_Java

1. JAVA 的特性和优势(1) Java的核心优势 跨平台/可移植性(2) 其他特性 安全性&#xff1b;面对对象&#xff1b;简单性&#xff1b;高性能&#xff1b;分布式&#xff1b;多线程&#xff1b;健壮性&#xff1b;① 强大的生态系统(3) Java与C的关系 Java是C的简化版(C—)2. JAV…

java es 数据批量导入_ElasticSearch—Java批量导入导出

网上找了很多&#xff0c;我的es是2.3.5版本&#xff0c;网上的客户端最少都是5.x版本&#xff0c;所以没有能用的。自己整合了一下 2.3.5版本的。pom文件&#xff1a;org.elasticsearchelasticsearch2.3.5com.alibabafastjson1.1.35org.apache.commonscommons-io1.3.2org.apac…

java原始模型模式_java设计模式--原始模型模式

简介原始模型模式属于对象的创建模式。通过一个原型对象来指明要创建对象的类型&#xff0c;然后用复制原型对象的方法来创建出更多同类型的对象。Java所有的类都是从java.lang.Object类继承来的&#xff0c;Object类提供clone()方法对对象进行复制。一般调用clone()方法需要满…

Windows的命令行窗口运行Python时,如何清屏?

问题 如标题 解法 import os os.system("cls")参考 python实现清屏

手写文字识别java_java 手写文字图片识别提取 百度API

package org.fh.util;import org.json.JSONObject;import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.List;import java.util.Map;/*** 说明&#xff1a;获取文字识别token类* from&am…

LeetCode - Easy - 191. Number of 1 Bits

Topic Bit Manipulation Description https://leetcode.com/problems/number-of-1-bits/ Write a function that takes an unsigned integer and returns the number of ‘1’ bits it has (also known as the Hamming weight). Note: Note that in some languages such …

java并行计算同步返回_Java大文本并行计算实现过程解析

Java大文本并行计算实现过程解析简单提高文本读取效率&#xff0c;使用BufferedReader是个不错的选择。速度最快的方法是MappedByteBuffer&#xff0c;但是&#xff0c;相比BufferedReader而言&#xff0c;效果不是非常明显。也就是说&#xff0c;后者虽然快&#xff0c;但也快…

wgs utm java,Java,将经纬度转换为UTM

Does anyone know of a way, in Java, to convert an earth surface position from lat, lon to UTM (say in WGS84)? Im currently looking at Geotools but unfortunately the solution is not obvious.解决方案I was able to use Geotools 2.4 to get something that works…

java 指定时间转换_Java中使用Calendar进行获取指定时间,使用SimpleDateFormat进行格式化转换...

java中使用Calendar获取指定的时间public class DateTranslate {/*** 获取指定日期的间隔月份的第一天的日期* param date* param sep* return*/public static Date getMonthFirstDay(Date date, Integer sep) {Calendar cal Calendar.getInstance();cal.setTime(getThisWeekM…