文档章节

Mac下同时安装多个版本的JDK

闪电
 闪电
发布于 2015/06/06 08:13
字数 416
阅读 80
收藏 0
点赞 0
评论 0
JDK8 GA之后,小伙伴们喜大普奔,纷纷跃跃欲试,想体验一下Java8的Lambda等新特性,可是目前Java企业级应用的主打版本还是JDK6, JDK7。因此,我需要在我的电脑上同时有JDK8,JDK7,JDK6。JDK6和JDK7主要是做一些产品代码的验证,以及自己玩一些开源项目,JDK8则纯属尝鲜,谁叫咱是喜新厌旧的程序员呢。

目标

在命令行下,可以通过命令'jdk6', 'jdk7','jdk8'轻松切换到对应的Java版本, 默认初始设置为jdk7。

所有的JDK下载归档 http://www.oracle.com/technetwork/java/javase/archive-139210.html

jdk1.7: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html


做法

1.首先安装所有的JDk:

* Mac自带了的JDK6,安装在目录:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/下。
* JDK7,JDK8则需要自己到Oracle官网下载安装对应的版本。自己安装的JDK默认路径为:/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk

2. 在用户目录下的bash配置文件.bashrc中配置JAVA_HOME的路径:
export JAVA_6_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
export JAVA_7_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0.jdk/Contents/Home
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
export JAVA_HOME=$JAVA_7_HOME

3.创建alias命令动态切换JAVA_HOME的配置
alias jdk8='export JAVA_HOME=$JAVA_8_HOME'
alias jdk7='export JAVA_HOME=$JAVA_7_HOME'
alias jdk6='export JAVA_HOME=$JAVA_6_HOME'


*验证*
CNxnliu:Versions xnliu$ java -version
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)
CNxnliu:Versions xnliu$ jdk8
CNxnliu:Versions xnliu$ java -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)
CNxnliu:Versions xnliu$

本文转载自:http://ningandjiao.iteye.com/blog/2045955

共有 人打赏支持
闪电
粉丝 74
博文 390
码字总数 6789
作品 0
海淀
技术主管
Maven的使用,Nexus建立本地仓库以及Eclipse导入Maven项目(二): 安装篇

Maven的使用,Nexus建立本地仓库以及Eclipse导入Maven项目(二): 安装篇 安装篇: =================================================================== 安装JDK ---------------------------......

DavyZhong
2012/11/12
0
1
Mac如何更改maven的java版本

本文出于我的独立博客:Geeekr 根据错误提示,无效的目标版本。 查看pom.xml文件 根据配置可以看出的目标版本是JDK 1.7; 查看JDK版本 根据上面信息可以看出我的jdk版本也是1.7; 那么问题出...

gongzili
2014/11/29
0
4
使用jenv管理多个java版本

使用jenv管理多个java版本 安装jenv 使用brew安装 . 如果使用的是Bash 如果使用的Zsh 可能还需要创建目录 安装jdk 没什么说的,去Oracle下载mac下各版本的jdk就行了,下载完成,直接安装。 ...

ToSun
2015/12/31
117
0
鸟人的Android揭秘(3)——Android 编译环境搭建

一、主机环境要求 要顺利编译 Android 源代码,硬件环境和操作系统都必须满足一定的条件。官方推荐的硬件环境配置是: 编译 Gingerbread(2.3.x)及后续版本必须使用64位系统 需至少留出100...

鸟人部落
2016/12/14
62
0
2018-01-12 MBP环境迁移

这周换了新的MBP,迁移了旧电脑的资料和开发环境到新的MBP,也遇到了很多坑,记录下来以便参考: Mac 系统设置 MBP 的基本配置 新MBP为 2017 15-inch 款,macOS 为 High Sierra Version 10.1...

雨_树
01/12
0
0
Mac OSX 10.10 Yosemite编译OpenJDK 9

在Mac OSX 10.10系统上编译了下OpenJDK9,以下仅是个人安装记录,供参考。 编译时间:2015-06-13 系统版本:Mac OS X Yosemite 10.10.4 编译OpenJDK版本:JDK 9 相关软件版本: XCode版本:X...

易水瑶
2015/06/13
0
2
Mac OSX上折腾JDK

本文仅针对mac osx 10.5+,其他版本有可能出现不适. JDK安装 JDK 1.6安装 系统默认自带jdk 1.6,如因意外被卸载,可从如下地址下载安装: https://support.apple.com/kb/DL1572?locale=zh_CN...

Bruceshi
2015/11/30
696
0
在Mac电脑上搭建Android Eclipse开发环境

在Mac电脑上搭建Android Eclipse开发环境 在Mac电脑上搭建Android Eclipse开发环境有如下4步:1. 先安装JDK,注意不要安装最新的1.9,安装1.8就好2. 下载Eclipse3. 在Eclipse上安装ADT 插件4...

android开发
2017/12/18
0
1
mac os x x64安装java7以及卸载的方法

mac os x x64安装java7以及卸载的方法 (2013-12-13 17:49:02) 转载▼ 分类: java 偶是小白,今天被人科普了 JDK是可以进行编译的,而jre只能用来运行,反正在java上要注意区分2者的区别,以...

Jonson
2016/05/18
35
0
Selenium Grid的自动化测试环境搭建经验分享

Selenium Grid是什么? Selenium-Grid 允许你在多台机器的多个浏览器上并行的进行测试,也就是说,你可以同时运行多个测试。本质上来说就是,Selenium-Grid 支持分布式的测试执行。它可以让你...

江边望海
2015/08/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

32.filter表案例 nat表应用 (iptables)

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 10.15 iptables filter表案例: ~1. 写一个具体的iptables小案例,需求是把80端口、22端口、21 端口放行。但是,22端口我...

王鑫linux
今天
0
0
shell中的函数&shell中的数组&告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析

影夜Linux
今天
0
0
Linux网络基础、Linux防火墙

Linux网络基础 ip addr 命令 :查看网口信息 ifconfig命令:查看网口信息,要比ip addr更明了一些 centos 7默认没安装ifconfig命令,可以使用yum install -y net-tools命令来安装。 ifconfig...

李超小牛子
今天
1
0
[机器学习]回归--Decision Tree Regression

CART决策树又称分类回归树,当数据集的因变量为连续性数值时,该树算法就是一个回归树,可以用叶节点观察的均值作为预测值;当数据集的因变量为离散型数值时,该树算法就是一个分类树,可以很...

wangxuwei
昨天
1
0
Redis做分布式无锁CAS的问题

因为Redis本身是单线程的,具备原子性,所以可以用来做分布式无锁的操作,但会有一点小问题。 public interface OrderService { public String getOrderNo();} public class OrderRe...

算法之名
昨天
9
0
143. Reorder List - LeetCode

Question 143. Reorder List Solution 题目大意:给一个链表,将这个列表分成前后两部分,后半部分反转,再将这两分链表的节点交替连接成一个新的链表 思路 :先将链表分成前后两部分,将后部...

yysue
昨天
1
0
数据结构与算法1

第一个代码,描述一个被称为BankAccount的类,该类模拟了银行中的账户操作。程序建立了一个开户金额,显示金额,存款,取款并显示余额。 主要的知识点联系为类的含义,构造函数,公有和私有。...

沉迷于编程的小菜菜
昨天
1
0
从为什么别的队伍总比你的快说起

在机场候检排队的时候,大多数情况下,别的队伍都要比自己所在的队伍快,并常常懊悔当初怎么没去那个队。 其实,最快的队伍只能有一个,而排队之前并不知道那个队快。所以,如果有六个队伍你...

我是菜鸟我骄傲
昨天
1
0
分布式事务常见的解决方案

随着互联网的发展,越来越多的多服务相互之间的调用,这时候就产生了一个问题,在单项目情况下很容易实现的事务控制(通过数据库的acid控制),变得不那么容易。 这时候就产生了多种方案: ...

小海bug
昨天
3
0
python从零学——scrapy初体验

python从零学——scrapy初体验 近日因为一些事情,需要从网上爬取一些东西,故而想通过使用爬虫来顺便学习下强大的python。现将一些学习中遇到的问题记录下来,以便日后查询 1. 开发环境的准...

咾咔叽
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部