Java 9、10、11
多年前,苹果公司加入了OpenJDK项目,将其以前专有的macOS专有JVM代码作为免费开源进行了转移。苹果公司停止发行自己的品牌JVM / JDK,而是依靠Oracle的品牌发行版包括适用于macOS的版本。
Oracle最近宣布了他们的意图,即以相同的代码库将其Oracle品牌的JVM版本与OpenJDK项目实现同等功能。该公司甚至将他们以前的商业工具“ 飞行记录器和任务控制”捐赠给了OpenJDK项目。这是转向新的快速“发布培训”计划的一部分,该计划用于Java和OpenJDK的可预见的计划版本控制。值得注意的是,免费更新的时间现在缩短了。请参阅此2017-09公告和Mark Reinhold的发布。
因此,Java的macOS用户可以选择Java实现的供应商。此时,至少有三个来源基于适用于macOS的OpenJDK:
同时,IBM将JVM的代码捐赠给了现在位于OpenJ9项目中的Eclipse Foundation 。我想知道他们是否也支持macOS版本,尽管现在还为时过早。
我个人目前正在IntelliJ 2018.2上成功地在macOS High Sierra上成功使用macOS High Sierra上Azul 的Zulu Java 10.0.1发行版,以通过Vaadin生产Java支持的Web应用程序。
安装/拆卸
Oracle和Azul都提供了完全易于使用的安装程序,可以在Mac上安装JVM / JDK。使用Terminal.app(或等效版本)键入并运行,以验证安装:
java -version
您将在驱动器的根目录(而不是主文件夹)的此文件夹中找到Java安装:
/图书馆/ Java / JavaVirtualMachines
在标记的嵌套文件夹中可以找到每个供应商提供的每个版本。您只需删除该版本的嵌套文件夹并在出现提示时提供系统密码,即可删除任何安装。
Java 8
您可以下载Java开发工具包(JDK)用于Java的8对支持的Mac OS X版本:
- 山狮(10.8.3+)
- 小牛(10.9)
- 优胜美地(10.10)
- 埃尔卡皮坦(10.11)
您可以在此处找到安装的每个JVM版本:
/Library/Java/JavaVirtualMachines
有关更多说明和常见问题解答,请参见《Oracle指南》。
Java 7
自Update 4以来,对于Java 7的每个发行版,Mac版本都可以与其他平台一起使用。在Lion(10.7.3 +),Mountain Lion(10.8.3+)和Mavericks(10.9.x)上具有64位硬件的Mac上运行。
甲骨文宣布于2012-04-26在Mac OS X(Lion)上正式发布JDK for Java SE 7 Update 4。不再需要本页讨论的技巧。
按照以下说明进行安装很简单:
- 从Oracle网站的通常位置下载。
- 安装DMG。
- 运行安装程序。
该发行版有一些限制,最明显的是缺少对Java Web Start和Web浏览器的Java插件的支持。预计将在今年晚些时候提供支持。
安装后,请阅读JDK for Mac自述文件。最重要的是,如果要将Java 7设置为默认值,请将其拖到“实用程序”文件夹中“ Java首选项”应用程序中列表的顶部。
Mac OS X轻松地同时支持多个JVM。现在可以在这里找到每个:
/Library/Java/JavaVirtualMachines
祝贺Apple和Oracle团队取得的成就。看到Mac OS X被列为“ 认证的系统配置 ”,这个极客感到非常兴奋。
提示:要在仅安装Java 7的Mac上启动Eclipse,请打开名为eclipse的别名文件,而不是打开名为Eclipse.app的文件。
Java 6
苹果继续通过Mountain Lion为所有版本的Mac OS X提供Java 6的最新实现。
如果您执行某些需要Java的操作,例如Terminal.app中的“ java -version”类型,则会出现一个对话框,提示您为您安装Java。如果您接受,安装会自动进行,类似于Apple的其他“软件更新”。
您会发现在此位置安装的Java与Java 7和8不同:
/System/Library/Java/JavaVirtualMachines
Java 6中已经达到了结束生命与Oracle作为2013-02(除非你有一个与Oracle的商业支持协议)。因此,您应该转向Java 7或8。
测试新版本
在Terminal.app中,键入java -version
以验证哪个版本是当前默认版本。
删除旧版本
安装新版本后,您可能需要访问上述文件夹以删除旧版本。将文件夹移到“废纸rash”,并提供系统密码以完成移动。
顺便说一句,Apple为OS X上与Java有关的开发人员技术问题提供了邮件列表。