为了账号安全,请及时绑定邮箱和手机立即绑定

如何在OS X上设置或更改默认的Java(JDK)版本?

如何在OS X上设置或更改默认的Java(JDK)版本?

温温酱 2019-08-05 16:45:03
如何在OS X上设置或更改默认的Java(JDK)版本?如何在mac上更改Java的默认版本?
查看完整描述

3 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

这个答案试图解决:如何在macOS El Capitan或更新版本(Sierra,High Sierra,Mojave)上安装多个版本的JDK控制系统范围内的Java版本(不仅仅是当前运行的shell 。据我所知,目前的答案都没有(*)。

作为开发人员,我使用了几个JDK,我想轻松地从一个JDK切换到另一个。通常我有最新的稳定用于一般用途,其他用于测试。但我不希望系统(例如,当我启动我的IDE时)使用我现在拥有的最新“早期访问”版本。我想控制系统的默认值,这应该是最新稳定的。

以下方法至少适用于Java 7到12(在撰写本文时的早期访问),使用Oracle JDKOpenJDK(包括在2018年10月中旬之后生成的AdoptOpenJDK构建)。

没有第三方工具的解决方案

  • 将所有JDK保留在其默认位置下/Library/Java/JavaVirtualMachines。系统默认选择最高版本。

  • 要排除默认情况下选择JDK,请将其重命名Contents/Info.plistInfo.plist.disabled。当$JAVA_HOME指向JDK 或在脚本或配置中显式引用时,仍然可以使用该JDK 。它只会被系统java命令忽略。

系统启动程序将使用具有Info.plist文件的最高版本的JDK 。

在具有备用JDK的shell中工作时,在现有答案(jenv或自定义别名/脚本/usr/libexec/java_home等)中选择您的方法。


这个要点的调查细节。


(*)当前的答案要么已过时(不再对macOS El Capitan或Sierra有效),要么只解决单个JDK,或者不解决系统范围问题。许多人解释了如何更改$JAVA_HOME,但这只会影响当前的shell以及从那里启动的内容。它不会影响从OS启动器启动的应用程序(除非您更改正确的文件和注销/登录,这是繁琐的)。同样对于jenv来说,它很酷而且全部,但据我所知它只是改变环境变量,因此它具有相同的限制。


查看完整回答
反对 回复 2019-08-05
  • 3 回答
  • 0 关注
  • 867 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号