如何在Mac上安装Java 8

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Mac上安装Java 8相关的知识,希望对你有一定的参考价值。

我想用最新的JavaFX进行一些编程,这需要Java 8.我使用的是IntelliJ 13 CE和Mac OS X 9 Mavericks。我运行了Oracle的Java 8安装程序,文件看起来就像是他们最终的结果

/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk

但以前的版本是

/System/Library/Java/JavaFrameworks/jdk1.6....

不知道为什么最新的安装程序把它放在/Library而不是/System/Library(也没有区别)。但/usr/libexec/java_home找不到1.8,所以我发现的关于如何设置当前java版本的所有帖子都不起作用。我已经尝试添加一个符号链接,使它看起来像是在/System/Library...路径1.8,但它没有帮助。 /usr/libexec/java_home -V仍然只列出旧的Java 1.6。

具有讽刺意味的是,“系统偏好设置”下的“Java”控制面板仅显示Java 1.8!

为什么Oracle的安装程序没有把它放到真正的位置?我该如何解决这个问题?

答案

不要依赖Oracle在Mac上正确安装Java。

使用Homebrew。这将安装最新的jdk:

brew cask install java

如果要在Mac上管理多个版本的Java,请考虑使用jenv

更新:现在Java 8不再是最新版本,如果您希望Java 8以这种方式安装它:

brew tap caskroom/versions
brew cask install java8

要获取所有旧版本java:brew tap caskroom/versions的列表,然后使用brew search java

我们使用brew cask,因为我们否则会使用可能无法在Mac上正确安装Java的Oracle GUI安装程序。 (使用brew cask install APP安装GUI应用程序;使用brew install APP。)Java不是GUI应用程序;它不应该需要“桶”,但至少Oracle是一致的。

另一答案

我有使用Java 7和8的应用程序,并且必须一直来回。

我使用Johan写的这个脚本:

http://www.jayway.com/2014/01/15/how-to-switch-jdk-version-on-mac-os-x-maverick/

您现在可以在启动时设置它或之后调用脚本。 安装JDK for Mac。

Java 7

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

Java 8

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

另一答案

在Mac High Sierra上运行这些命令

brew update
brew tap caskroom/versions
brew cask install java8

并检查命令

java -version
另一答案

Use the Installer, Luke

您有多个来源可以获得易于使用的安装程序应用程序,以便将Java放在Mac上。其他答案暗示Brew或其他方法对我来说似乎有点极端。只需从受信任的来源下载Mac安装程序并运行它。

下面是查找Java 11源代码的流程图,其中一些还提供了Java 8。

JavaVirtualMachines folder is now correct

为什么Oracle的安装程序没有把它放到真正的位置?我该如何解决这个问题?

不是问题。

文件夹/Library/Java/JavaVirtualMachines/JVMmacOSs的新家。

要安装JVM,请使用下面讨论的安装程序。

要卸载,只需使用Finder从该文件夹中删除JVM即可。系统将提示您输入系统管理员密码以完成删除。


Java 9 & 10 & 11

早在2010年,Apple joined就是OpenJDK project,还有OracleIBMRed HatAzul和其他Java供应商。每个成员都为统一的OpenJDK代码库提供源代码,测试和反馈。

Apple为其JVM贡献了大部分特定于Mac的代码。现在Apple不再发布自己的Mac专用JVM。您现在可以选择JVM供应商,其中的构建来自OpenJDK代码库。

您将在以下网址找到源代码:http://openjdk.java.net

New release cadence

请注意,在2017年,Oracle,JCP和OpenJDK采用了new rapid “release train” plan,以便以可预测的方式提供定期安排的Java版本。

阅读这篇2018-07 Azul Systems博客文章了解许多细节,Eliminating Java Update Confusion by Simon Ritter

另请阅读Java Is Still Free

供应商

有关过去和现在JVM实现的相当详尽的列表,请参阅this page at Wikipedia

以下是我所知道的三个当前活跃的来源。

Oracle JVM

Oracle为包括macOS在内的多个平台提供JDK和JRE安装程序。

自收购Sun以来,Oracle已将两个JVM引擎的最佳部分组合在一起,HotSpotJRocket,并将它们合并到OpenJDK项目中,该项目用作自己的Java品牌实现的基础。

截至2018年,他们的新业务计划是提供一个Oracle品牌的Java实现,需要付费生产,并且不需要在开发/测试/演示中使用。对先前版本的支持需要付费支持计划。他们已宣布他们的品牌发布意图与OpenJDK版本的功能相同。他们甚至向OpenJDK项目捐赠了他们的商业附件,如Flight Recorder。

Zulu & Zing by Azul

Azul Systems提供各种JVM产品。

  • 他们的Zulu系列直接基于OpenJDK,并且可选择付费支持计划免费提供。
  • 他们的Zing系列提供商业JVM产品,增强了替代技术实现,如专业的garbage-collector

他们的两个系列都为macOS提供安装程序。

我目前在macOS High Sierra上使用Zulu for Java 10.0.1与IntelliJ 2018.2和Vaadin 8。我downloaded from this page。顺便说一下,我没有在Apple System Preferences应用程序上找到任何与Java相关的项目。

AdoptOpenJDK.net

AdoptOpenJDK是一个社区主导的努力来构建OpenJDK源的二进制文件。他们打算随着时间的推移提供更新,由社区成员捐赠。

  • 您可以选择HotSpotOpenJ9发动机。
  • 可用于macOS,Linux和Windows的构建。

OpenJ9 by Eclipse

OpenJ9项目是JVM引擎的另一个实现,是HotSpot的替代品。

现在由Eclipse基金会赞助,由IBM在2017年捐赠技术和支持。

对于预构建的二进制文件,它们会引用您上面提到的AdoptOpenJDK项目。


How to install

Oracle或Azul提供的安装程序操作都非常简单。只需在Mac上运行安装程序即可。将出现一个窗口,指示安装进度。

完成后,通过以下方式验证JVM安装:

  • 访问/Library/Java/JavaVirtualMachines/文件夹以查看新JVM的项目。
  • 运行Terminal.app等控制台并键入java -version以查看JVM的品牌和版本号。

验证成功后,在Finder中卸载.dmg图像。然后删除您下载的.dmg文件。

另一答案

似乎没人提到SDK man(https://sdkman.io/)。

SKD man允许在Mac上安装多个版本的Java,并且可以在这些版本之间轻松切换。有关更多信息,请访问https://sdkman.io/usage

例如:

$ sdk list java                                                                                                                                                                                                                       
================================================================================
Available Java Versions
================================================================================
   * 12.ea.20-open
     11.0.1-zulu
 > * 11.0.1-open
     10.0.2-zulu
     10.0.2-open
     9.0.7-zulu
     9.0.4-open
     8.0.192-zulu
     8.0.191-oracle
   + 8.0.181-oracle
     7.0.181-zulu
     1.0.0-rc-10-grl
     1.0.0-rc-9-grl
     1.0.0-rc-8-grl


================================================================================
+ - local version
* - installed
> - currently in use

以上是关于如何在Mac上安装Java 8的主要内容,如果未能解决你的问题,请参考以下文章

如何在Mac上安装Java 8

如何在 mac 上安装 openjdk 8 和 sbt 并使用默认的 openjdk 8(不是 13)?

Jira - 如何在Mac上安装并配置Jira

在 MAC OS X 10.8.x 上,AppStore 应用程序如何安装内核扩展?

在 Mac OS X 10.5.8 上安装 Java 6 后,Java 版本显示为 1.5

如何在 Mac 10.8.3 上安装 qpdf?