下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u80-oth-JPR

推荐方式A:

  1. vi .bash_profile 输入以下内容
  2. 然后执行source .bash_profile生效新配置
  1. # Mac默认 JDK 6(Mac默认自带了一个jdk6版本)
  2. export JAVA_6_HOME=`/usr/libexec/java_home -v 1.6`
  3. # 设置 JDK 7
  4. export JAVA_7_HOME=`/usr/libexec/java_home -v 1.7`
  5. # 设置 JDK 8
  6. export JAVA_8_HOME=`/usr/libexec/java_home -v 1.8`
  7. #默认JDK 6
  8. export JAVA_HOME=$JAVA_6_HOME
  9. #alias命令动态切换JDK版本
  10. alias jdk6="export JAVA_HOME=$JAVA_6_HOME"
  11. alias jdk7="export JAVA_HOME=$JAVA_7_HOME"
  12. alias jdk8="export JAVA_HOME=$JAVA_8_HOME"

默认jdk为1.6,执行jdk6或jdk7或jdk8后,通过java -version可看到已切换成相应版本。

推荐方式B:

1、安装jenv

执行:curl -s get.jenv.io | bash

jenv参考(关键是方便别的java工具管理):https://github.com/linux-china/jenv/wiki/Chinese-Introduction

2、进入jenv目录,然后建相关目录:

  1. cd ~/.jenv/candidates/
  2. mkdir java
  3. cd java
  4. mkdir 1.6
  5. mkdir 1.7
  6. mkdir 1.8

3、执行以下命令

  1. ln -s /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin ~/.jenv/candidates/java/1.6
  2. ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/bin ~/.jenv/candidates/java/1.7
  3. ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/bin ~/.jenv/candidates/java/1.8

1、最先默认的jdk一般是你最后安装的那jdk。

2、切换版本:jenv use java 1.8

3、设置缺少版本:jenv default java 1.6

不推荐方式:

  1. #区别在于:此部分是写死路径的
  2. export JAVA_6_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
  3. export JAVA_7_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home
  4. export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
  5. #默认JDK 6
  6. export JAVA_HOME=$JAVA_6_HOME
  7. #alias命令动态切换JDK版本
  8. alias jdk6="export JAVA_HOME=$JAVA_6_HOME"
  9. alias jdk7="export JAVA_HOME=$JAVA_7_HOME"
  10. alias jdk8="export JAVA_HOME=$JAVA_8_HOME"

根据苹果的官方说明,Mac OS X 10.5 及以后的版本应该使用 /usr/libexec/java_home 命令来确定 JAVA_HOME (推荐方式A就是依据此原理)。

例:

  1. //查看默认jdk的安装路径
  2. /usr/libexec/java_home
  3. //查看jdk 1.6的安装路径
  4. /usr/libexec/java_home -v 1.6

而在此之前的版本由于没有这个命令,则应该使用固定的 /Library/Java/Home 目录,也就是直接在环境变量中写死。

  1. //下面的几个目录其实是等价的链接关系,都指向的是默认的JDK。但是硬编码方式,不推荐。
  2. JAVA_HOME=/Library/Java/Home
  3. JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
  4. JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home

因为不同的 Java 版本和不同的 Java 实现可能安装在了不同的目录下,所以使用硬编码的目录会有如下缺点:

  • 安装或升级新的 Java 后需要重新设置 JAVA_HOME(尤其是带版本号的目录)
  • 无法适应不同的 Java 实现(Apple和Oracle的)
其他分析:
1、打开终端输入执行:which java,显示/usr/bin/java
2、执行cd /usr/bin/,再执行ls -ll |grep java,可看到java此命令是link到/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
3、执行:cd /System/Library/Frameworks/JavaVM.framework/Versions/ 进入后,再执行ls -ll,可看到Current -> A,也就是Current目录link到A目录。而A目录在安装第一个JDK时就存在,用来JDK多版本管理使用的(猜测是使用到JAVA_HOME)。
另外:
/System/Library/Frameworks/JavaVM.framework/Versions/ 下有多个不同(低)版本的目录,但它们链接的都是 CurrentJDK 目录。总之,这些Java都是苹果提供的Java,Oracle 或 OpenJDK 提供的 Java 不在此目录中。
据说以前可在系统设置中“Java Preferences”对话框可设置当前jdk,再自动调整A目录内容,但我没看到过。
Java 7 需要 Mac OS X 10.7.3 (Lion) 及以上版本才能安装。在浏览器中运行Java要求是64位浏览器,所以不支持Chrome, Safari 或 Firefox 没问题。

mac同时安装jdk7和jdk8的更多相关文章

  1. windows同时安装jdk7和jdk8

    windows同时安装jdk7和jdk8 我本地的情况是本地安装了jdk8,但是因为项目的需要,将tomcat9换成tomcat8,即jdk8换成jdk7(但是好像也可以不用换,因为 7 and la ...

  2. win7 安装JDK7和JDK8后,卸载JDK8后出错

    这是本人学习Java过程中遇到的一些问题和解决方法,在此记录,方便本人查看,解决他人疑惑. 本人win7 x64旗舰版,同时安装了JDK7和JDK8,卸载了JDK8之后,cmd命令行输入:java - ...

  3. 【JDK】JDK7与JDK8环境共存与切换:先安装jdk7,配置好环境变量后再安装jdk8

    1.先安装JDK7 下载jdk-7u79-windows-i586.exe,安装后配置好环境变量JAVA_HOME,CLASSPATH,PATH java -version javac 指令都正常 2 ...

  4. Ubuntu 16.04安装JDK7/JDK8的两种方式

    ubuntu 安装jdk 的两种方式:1:通过ppa(源) 方式安装. 2:通过官网下载安装包安装. 这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 使用ppa ...

  5. Win7下如何安装切换jdk7和jdk8

    一.安装好JDK1.7和1.8. 二.配置环境变量: 1. 创建三个JAVA_HOME.JAVA7_HOME,存放JDK7的安装路径.JAVA8_HOME,存放JDK8的安装路径.JAVA_HOME, ...

  6. MAC下安装多版本JDK和切换几种方式

    环境: MAC AIR,OS X 10.10,64位   历史: 过去 Mac 上的 Java 都是由 Apple 自己提供,只支持到 Java 6,并且OS X 10.7 开始系统并不自带(而是可选 ...

  7. 在MAC上安装Oracle JDK

    下载Mac版本的JDKhttp://www.oracle.com/technetwork/java/javase/downloads/index.html 下载之后,双击dmg文件安装 mac 下查看 ...

  8. mac下面安装多个JDK

    JDK8 GA之后,小伙伴们喜大普奔,纷纷跃跃欲试,想体验一下Java8的Lambda等新特性,可是目前Java企业级应用的主打版本还是JDK6, JDK7.因此,我需要在我的电脑上同时有JDK8,J ...

  9. mac同时安装多个jdk

    DK8 GA之后,小伙伴们喜大普奔,纷纷跃跃欲试,想体验一下Java8的Lambda等新特性,可是目前Java企业级应用的主打版本还是JDK6, JDK7.因此,我需要在我的电脑上同时有JDK8,JD ...

随机推荐

  1. ZK典型应用场景

    1. 数据发布/订阅--动态获取数据 2.Master选举 a). 利用Zk会保证无法重复创建一个已经存在的节点 b). 多个客户端同时创建,创建成功的即是master,并监控master节点,一旦m ...

  2. 工作空间造成的javaweb项目无法新建

    出现问题: 当我打开myeclipse开发工具将原有的已经存在的一个名为jeecms的项目删除的时候,出现了删除不了,因此我采取了强制的删除的方法,最终项目删除了.接下来新建同名的javaweb就出现 ...

  3. 【frame】找上一层

    第一种:window.parent第二种:window.top 貌似两种都行 然后找上一层iframe里面的js函数可以这么写: window.parent.functionName(param1, ...

  4. POJ 3660—— Cow Contest——————【Floyd传递闭包】

    Cow Contest Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit  ...

  5. Active Directory 域服务对象

    局域网计算机控制中心 可以在DC上控制所有局域网资源(计算机 .用户.设备) 大中型企业管理必备. 最后,它还可以让开发人员集成LDAP身份认证,使用域账号登录应用. 也就是说,此企业的所有系统,都可 ...

  6. (生产)better-scroll - 下拉刷新

    Options 参数 startX: 0 开始的X轴位置 startY: 0 开始的Y轴位置 scrollY: true 滚动方向为 Y 轴 scrollX: 'true' 滚动方向为 X 轴 cli ...

  7. 也谈ThreadLocal

    欢迎赐教博客地址(http://www.cnblogs.com/shizhongtao/p/5358411.html) 对于ThreadLocal使用,网上一堆一堆的.什么内存泄露,什么线程不安全.这 ...

  8. 用户管理的设计--3.jquery的ajax实现二级联动

    页面效果 实现步骤 1.引入struts整合json的插件包 2.页面使用jquery的ajax调用二级联动的js //ajax的二级联动,使用选择的所属单位,查询该所属单位下对应的单位名称列表 fu ...

  9. 在VirtualBox ubuntu/linux虚拟机中挂载mount共享文件夹

    referemce: https://www.smarthomebeginner.com/mount-virtualbox-shared-folder-on-ubuntu-linux/ 1) Virt ...

  10. 西门子触摸屏利用VBScript脚本创建csv文件

    功能描述:利用VBScript脚本创建csv/txt文件 有时需要将PLC或运动控制器Simotion中的数据写到SD卡或U盘上.一种实现方法是,如果使用的是精致面板(comfort panel),可 ...