设为首页 收藏本站
查看: 950|回复: 0

[经验分享] Mac OS 上设置 JAVA

[复制链接]

尚未签到

发表于 2015-12-31 02:16:30 | 显示全部楼层 |阅读模式
Mac OS 上设置 JAVA_HOME
  原文链接:http://han.guokai.blog.163.com/blog/static/136718271201301183938165/
  由于需要,前几天在 OS X 上安装了 Oracle 的 Java 7。安装之后,发现由于我原来设置的 JAVA_HOME 为 /Library/Java/Home ,导致我使用的还是原来苹果提供的 Java 6 而不是刚安装的 Java 7。
  网上查了一下,发现网上普遍存在一种不太好的硬编码方式,比如以下这些:
  

    JAVA_HOME=/Library/Java/Home  

  JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
  

  JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
  

  //上面的几个目录其实是等价的链接关系,都指向的是苹果提供的 Java 6
  /System/Library/Frameworks/JavaVM.framework/Versions/ 下有多个不同版本的目录,但它们链接的都是 CurrentJDK 目录。总之,这些Java都是苹果提供的Java,Oracle 或 OpenJDK 提供的 Java 不在此目录中。
  因为不同的 Java 版本和不同的 Java 实现可能安装在了不同的目录下,所以使用硬编码的目录会有如下缺点:
  
安装或升级新的 Java 后需要重新设置 JAVA_HOME(尤其是带版本号的目录)
  
无法适应不同的 Java 实现(Apple和Oracle的)

一点历史
  过去 Mac 上的 Java 都是由 Apple 自己提供的,只支持到 Java 6,并且OS X 10.7 开始系统并不自带(而是可选安装)。后来 Apple 加入 OpenJDK 继续支持 Java 6,而 Java 7 将由 Oracle 负责提供。

根据苹果的官方说明
  Mac OS X 10.5 及以后的版本应该使用 /usr/libexec/java_home 命令来确定 JAVA_HOME ,而在此之前的版本由于没有这个命令,则应该使用固定的 /Library/Java/Home 目录。

最佳方式是
  

    export JAVA_HOME=`/usr/libexec/java_home`  

  另外,你还可以这样用,来选择不同的Java版本:
  

    export JAVA_HOME=`/usr/libexec/java_home -v 1.6`  or
  export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
  

我安装完 Oracle Java 7后


  •   java_home 命令的各种输出结果是:
      
    默认或指定1.7的输出:
      

    /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home
  •   /usr/libexec/java_home -v 1.6 的输出:
      

    /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
一些补充说明
  Java 7 需要 Mac OS X 10.7.3 (Lion) 及以上版本才能安装。
  
在浏览器中运行Java要求是64位浏览器,所以不支持Chrome, Safari 或 Firefox 没问题。

更多内容
  比如“如何卸载”、“卸载 Oracle Java 7 后如何还原 Apple Java 6”等,请参考下面这些参考资料:


  • 苹果官方说明
  • java_home 命令手册
  • Mac OS X Platform Install FAQ
  • Mac Java 7 FAQ:安装,删除,还原,配置,系统请求

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-158587-1-1.html 上篇帖子: ASIHttpRequest (Using ASIHTTPRequest in a Mac OS X project) 下篇帖子: 方便mac os 10.9系统中phpstorm配置php运行环境
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表