MAC下安装多版本JDK和切换几种方式
来源:互联网 发布:算法导论 第三版 当当 编辑:程序博客网 时间:2024/05/29 09:38
环境:
MAC AIR,OS X 10.10,64位
历史:
过去 Mac 上的 Java 都是由 Apple 自己提供,只支持到 Java 6,并且OS X 10.7 开始系统并不自带(而是可选安装)(原自带的是1.6)。
后来 Apple 加入 OpenJDK 继续支持 Java 6,而 Java 7 将由 Oracle 负责提供。
在终端中输入java -version可查看当前JDK版本信息,如果还没安装任一JDK,就会提示安装,点击后会跳到oralce java的下载网页。
安装包(注意都是下载mac下的dmg安装包):
JDK 1.6(验证OS X 10.10可用):http://support.apple.com/kb/DL1572
JDK 1.7&1.8(1.7在页面下方):http://www.oracle.com/technetwork/java/javase/downloads/index.html
安装:
dmg安装包,安装过程如一般程序,略
最终安装目录(版本号根据情况略有不同):
JDK 1.6:
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk
JDK 1.7&1.8:
/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk
/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk
推荐方式A:
- vi .bash_profile 输入以下内容
- 然后执行source .bash_profile生效新配置
- # Mac默认 JDK 6(Mac默认自带了一个jdk6版本)
- export JAVA_6_HOME=`/usr/libexec/java_home -v 1.6`
- # 设置 JDK 7
- export JAVA_7_HOME=`/usr/libexec/java_home -v 1.7`
- # 设置 JDK 8
- export JAVA_8_HOME=`/usr/libexec/java_home -v 1.8`
- #默认JDK 6
- export JAVA_HOME=$JAVA_6_HOME
- #alias命令动态切换JDK版本
- alias jdk6="export JAVA_HOME=$JAVA_6_HOME"
- alias jdk7="export JAVA_HOME=$JAVA_7_HOME"
- 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目录,然后建相关目录:
- cd ~/.jenv/candidates/
- mkdir java
- cd java
- mkdir 1.6
- mkdir 1.7
- mkdir 1.8
3、执行以下命令:
- ln -s /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin ~/.jenv/candidates/java/1.6
- ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/bin ~/.jenv/candidates/java/1.7
- 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
不推荐方式:
- #区别在于:此部分是写死路径的
- export JAVA_6_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
- export JAVA_7_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home
- export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
- #默认JDK 6
- export JAVA_HOME=$JAVA_6_HOME
- #alias命令动态切换JDK版本
- alias jdk6="export JAVA_HOME=$JAVA_6_HOME"
- alias jdk7="export JAVA_HOME=$JAVA_7_HOME"
- alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
根据苹果的官方说明,Mac OS X 10.5 及以后的版本应该使用 /usr/libexec/java_home 命令来确定 JAVA_HOME (推荐方式A就是依据此原理)。
例:
- //查看默认jdk的安装路径
- /usr/libexec/java_home
- //查看jdk 1.6的安装路径
- /usr/libexec/java_home -v 1.6
而在此之前的版本由于没有这个命令,则应该使用固定的 /Library/Java/Home 目录,也就是直接在环境变量中写死。
- //下面的几个目录其实是等价的链接关系,都指向的是默认的JDK。但是硬编码方式,不推荐。
- JAVA_HOME=/Library/Java/Home
- JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
- JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
因为不同的 Java 版本和不同的 Java 实现可能安装在了不同的目录下,所以使用硬编码的目录会有如下缺点:
- 安装或升级新的 Java 后需要重新设置 JAVA_HOME(尤其是带版本号的目录)
- 无法适应不同的 Java 实现(Apple和Oracle的)
- MAC下安装多版本JDK和切换几种方式
- MAC下安装多版本JDK和切换几种方式
- MAC下安装多版本JDK和切换几种方式
- MAC下安装多版本JDK和切换几种方式
- MAC下安装多版本JDK和切换几种方式
- MAC下安装多版本JDK和切换几种方式
- MAC下安装多版本JDK和切换几种方式
- MAC下安装多版本Java JDK和切换几种方式
- MAC下安装多版本JDK和切换几种方式
- MAC下安装多版本JDK和切换几种方式
- MAC下安装多版本JDK和切换几种方式
- MAC下安装多版本JDK和切换几种方式
- mac 下安装多版本jdk 以及切换方式
- Mac下同时安装切换多个版本的JDK
- mac下jdk多版本切换
- Mac下JDK版本切换
- Mac下配置jdk路径和多个jdk版本切换
- linux下安装jdk和切换jdk版本
- 消息中间件剖析
- MySQL Delete,Update连表(left join)删除,更新语法
- ./configure,make,make install的作用
- 静态变量(初始化块);实例变量(代码块);构造方法;
- 总结
- MAC下安装多版本JDK和切换几种方式
- reactiveCocoa rac_signalForControlEvents多次触发解决方法
- adb连接Android 4.2.2版本手机时出现offline或unauthorized问题的解决方法
- java多态及其与c++的差异
- lamp环境搭建
- java中i=i++问题分析
- Android四大基本组件介绍
- C#往DB中插入上传的文件
- Nginx搭建反向代理服务器过程详解