【原创】在 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

    备注:如果提示 “Operation not permitted”,是因为 Mac OS X 在 EL Capitan 之后加入了 Rootless 机制,不能再随心所欲的读写很多路径下的文件了。重启系统按住 Command + R 进入恢复模式,打开 实用工具 -> Terminal,执行 “csrutil disable” 即可关闭 Rootless ;同样步骤执行“csrutil enable” 即可恢复默认。

  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版本

本文地址:http://www.cnblogs.com/midnight-coder/p/5561665.html

原文地址:https://www.cnblogs.com/midnight-coder/p/5561665.html