编者注:这个问题是在2014年提出的,答案可能已经过时了。


我想用最新的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版本的帖子都不起作用。我已经尝试添加了一个符号链接,使它看起来像1.8在/System/Library中…路径,但没有用。/usr/libexec/java_home -V仍然只列出旧的Java 1.6。

讽刺的是,在“系统首选项”下的“Java”控制面板只显示Java 1.8!

为什么Oracle的安装程序不把它放在它真正应该去的地方?我该如何解决这个问题呢?


当前回答

简单的方法

1) brew cask install java

2) java -version

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

p.s. - Cask是Homebrew的扩展,用于管理大型Mac二进制文件和图形应用程序,但使用了Homebrew界面。也可以在Apple StackExchange上看到这个答案。

其他回答

更新HomeBrew -如何在Mac上安装Java 8

然后从这里安装Zulu M1 JDK。 https://cdn.azul.com/zulu/bin/zulu8.66.0.15-ca-jdk8.0.352-macosx_aarch64.dmg

在你的路径中设置JDK Home,如下所示:

export JAVA_HOME='/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home'
export PATH=$JAVA_HOME/bin:$PATH

最简单的方法是从以下站点下载dmg文件,然后双击安装

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

从主目录查找可用的jvm

ls -al /Library/Java/JavaVirtualMachines

并将.bash_profile更新为相关版本

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_XXX.jdk./Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

最后

source ~/.bash_profile

Brew search openjdk 找到一些openjdk公式,在2021年,brew将提供openjdk11和openjdk8作为选项。

在2022年,你可以只使用酿造

brew install openjdk@8

也许你需要更新PATH env:

export PATH="/usr/local/opt/openjdk@8/bin:$PATH"

为未来试一试的人,胜过酝酿的人

curl -s "https://get.sdkman.io" | bash

然后打开一个新的shell和try列表,看看你可以安装什么;-)

sdk list java 

在写这篇文章的时候,安装java 8你可以使用:

sdk install java 8.0.322-tem 

注意:更新install命令以匹配运行sdk list java中的一些现有标识符show

简单的方法

1) brew cask install java

2) java -version

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

p.s. - Cask是Homebrew的扩展,用于管理大型Mac二进制文件和图形应用程序,但使用了Homebrew界面。也可以在Apple StackExchange上看到这个答案。