Mac OSX的JDK安装与配置

这两天为了玩spring4.x, 要安装jdk8. 因此本文将总结下Mac上同时安装jdk6,jdk7,jdk8的方法。

jdk官方下载地址

安装目录

1. MAC自带JDK6, 安装目录在:/System/Library/Java/JavaVirtualMachines/

dingdong@dingdongdeMacBook-Air ~$ cd /System/Library/Java/JavaVirtualMachines/

dingdong@dingdongdeMacBook-Air JavaVirtualMachines$ ls

1.6.0.jdk


2. 用户自己安装JDK都默认安装到目录:/Library/Java/JavaVirtualMachines/

dingdong@dingdongdeMacBook-Air JavaVirtualMachines$ cd /Library/Java/JavaVirtualMachines/

dingdong@dingdongdeMacBook-Air JavaVirtualMachines$ ls

jdk1.7.0_67.jdk jdk1.8.0_45.jdk


环境变量设置

1. Mac系统的环境变量加载顺序为:/etc/profile -> /etc/paths -> ~/.bash_profile  -> ~/.bash_login -> ~/.profile (~/.bashrc)

系统启动的时候会加载/etc/profile和/etc/paths两个系统配置文件,然后会依次读~/.bash_profile ~/.bash_login ~/.profile,如果前面的文件存在,后面的文件将会被忽略。

然而~/.bashrc例外,它在bash shell打开的时候会被加载。

通常配置用户环境变量的时候都在~/.bash_profile或者~/.bashrc里面。

本文的例子在~/.bash_profile中做配置。

2. 如果你的系统版本是Mac OSX 10.5 及以上的版本,Apple推荐使用$(/usr/libexec/java_home)来设置环境变量,例子如下:

1) 显示所有jdk版本:/usr/libexec/java_home -V

--------------------------------------------------------------------------------------------------------------------------------------------------------

dingdong@dingdongdeMacBook-Air ~$ /usr/libexec/java_home -V

Matching Java Virtual Machines (4):

    1.8.0_45, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home

    1.7.0_67, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home

    1.6.0_65-b14-462, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

    1.6.0_65-b14-462, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home


/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home

--------------------------------------------------------------------------------------------------------------------------------------------------------


2) 在我的机器(air 10.9.4)上默认查找最新的版本: /usr/libexec/java_home

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

dingdong@dingdongdeMacBook-Air ~$ /usr/libexec/java_home

/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

java -version的原理:

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

dingdong@dingdongdeMacBook-Air ~$ which java

/usr/bin/java

dingdong@dingdongdeMacBook-Air ~$ ls -al /usr/bin/java

lrwxr-xr-x  1 root  wheel  74  9 12  2014 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


其实当用户在shell中输入java -version的时候,会执行'/usr/bin/java'这个链接文件,如上图所示,通过实际的指向的java去查找版本号,读者可以命令行里输入:

/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java 查看下它的参数。

我的配置文件如下:

-----------------------------------------------------------------------------------

export JAVA_6_HOME=$(/usr/libexec/java_home -v1.6)

export JAVA_7_HOME=$(/usr/libexec/java_home -v1.7)

export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)


export JAVA_HOME=$JAVA_7_HOME


alias jdk6="export JAVA_HOME=$JAVA_6_HOME"

alias jdk7="export JAVA_HOME=$JAVA_7_HOME"

alias jdk8="export JAVA_HOME=$JAVA_8_HOME"

------------------------------------------------------------------------------------

我默认配置为jdk7

配置好保存文件,然后 source ~/.bash_profile 让配置文件生效。

然后打开shell,可以自由切换jdk版本了:


大功告成!

PS: 如果你的系统版本是Mac OSX 10.5以前的,可以用jdk具体版本的绝对路径来代替:$(/usr/libexec/java_home -v 1.x).

参考资料:

1. http://stackoverflow.com/questions/1348842/what-should-i-set-java-home-to-on-osx

2. http://www.tuicool.com/articles/uUJjEb

3. http://www.flakor.cn/2014-09-14-714.html

4. http://www.mkyong.com/java/how-to-set-java_home-environment-variable-on-mac-os-x/


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值