原创Mac OS X 下同时安装多个版本的JDK(JDK 1.5 ~ JDK 1.8)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原创Mac OS X 下同时安装多个版本的JDK(JDK 1.5 ~ JDK 1.8)相关的知识,希望对你有一定的参考价值。

  虽然 Java 8 的正式版已经发布了两年有余,但目前 Java 企业级应用的主打版本还是 Java 6 和 Java 7,更惨的是公司的一些早期项目还必须在 Java 5 下开发运行,而我还想在工作之余体验+学习 Java 8 的新特性。于是,我需要在我的 Mac 上同时安装 JDK 1.5,JDK 1.6, JDK 1.7 和 JDK 1.8。

  过去 Mac 上的 Java 都是由 Apple 自己提供的,但只支持到 Java 6,并且从 OS X 10.7 开始系统不再默认安装了(可选安装,原自带的是 JDK 1.6)。后来 Apple 加入 OpenJDK 阵营继续支持 Java 6,而从 Java 7 开始由 Oracle 负责提供。暂且认为是 Apple 派 和 Oracle 派

在 Terminal 中输入 java -version 可查看当前JDK版本信息,如果还没安装任一JDK,就会提示安装,点击后会跳到 Oralce Java 的下载网页。

系统环境

  OS X EI Capitan(版本 10.11.5)

前期准备

  1. Java安装包
  2. 辅助工具
    • Pacifist:用于提取*.dmg安装包中的文件(点我下载

安装步骤

JDK 1.6 及以上版本的安装过程较为简单,不再赘述。下面着重介绍安装 JDK 1.5 的过程。

  1. 删除系统中的默认目录文件:

    $ sudo rm /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0

     

  2. 使用 Pacifist 提取 “Java for Mac OS X 10.5 Update 10”中的文件:

    • 在 JavaForMacOSX10.5Update10.dmg 上 右键 -> 打开方式 -> Pacifist
    • 找到 /System/Library/Frameworks/JavaVM.framework/Versions/ 目录,选中 1.5 和1.5.0 两个目录,右键 -> 安装到默认位置 技术分享
  3. Terminal 中切换到 jdk 1.5 的安装目录下,验证是否安装成功:
    1  $ cd /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/bin
    2  $ ./java -version
    3  java version "1.5.0_30"
    4  Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_30-b03-389-11M4833)
    5  Java HotSpot(TM) Server VM (build 1.5.0_30-161, mixed mode)

     

安装路径

Apple派的 JDK 1.6 与 JDK 1.5 在 OS X 上的安装路径是不同的,JDK 1.6 与 Oracle 派的 JDK 的安装路径一致,这点需要特别注意。

JDK 1.5 的安装路径:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0
JDK 1.6 的安装路径:/Library/Java/JavaVirtualMachines/1.6.0.jdk

系统默认的 JDK 版本,是通过 link 来实现的,也就是说 Java 程序如 Maven、Eclispe 选择哪个 JDK 是通过各自的启动脚本,按照约定的 link 文件去查找 Java 程序的。比如 Maven 就会先找 Apple 派的 JDK 后找 Oracle 派的 JDK。

Apple 派的 JDK 通过把文件 /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDKlink 到某个版本的 JDK 实现了多版本支持。

Oracle 派的 JDK 学习 Aplle 派的方法也支持多版本,link 文件是 /System/Library/Frameworks/JavaVM.framework/Versions/Current

在 Eclipse 中配置JRE

Preferences -> Java -> Installed JREs,将安装好的各版本 JDK 添加到列表中。 

技术分享

注:本文不包含JDK多版本管理切换的部分。

参考

  1. Mac osx 10.9 安装jdk1.5
  2. MAC下安装多版本JDK和切换几种方式
  3. 如何在 OSX 中使用多个JDK版本

以上是关于原创Mac OS X 下同时安装多个版本的JDK(JDK 1.5 ~ JDK 1.8)的主要内容,如果未能解决你的问题,请参考以下文章

mac os中配置多个jdk(转载+)

如何在 Mac OS X 上安装特定的 JDK?

如何在Mac OS X Yosemite上安装 jdk 1.6 开发环境

如何在Mac OS X上面指定Eclipse启动时用指定的某一版本JDK

Mac OS下使用pyenv管理Python版本

在Mac OS X下安装Android Studio