编者注:这个问题是在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的安装程序不把它放在它真正应该去的地方?我该如何解决这个问题呢?


当前回答

在mac High Sierra上运行这些命令

brew update
brew tap caskroom/versions
brew cask install java8

用命令检查

java -version

其他回答

截至2021年

brew install --cask adoptopenjdk/openjdk/adoptopenjdk8

注意:Oracle Java 8/9/10不再供公众下载(许可证变更)。

首先从终端安装和更新brew:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

brew tap homebrew/cask-versions

brew update

截至2019年6月

从AdoptOpenJDK安装jdk:

brew tap adoptopenjdk/openjdk

brew install --cask adoptopenjdk8
brew install --cask adoptopenjdk9
brew install --cask adoptopenjdk10
brew install --cask adoptopenjdk11

OLD

Java 8:

brew install --cask java8

Java最新的:

brew install --cask java

我刚刚在MBP上做了这个,必须使用

$ brew tap homebrew/cask-versions
$ brew cask install java8

为了得到java8来安装。

最简单的方法是从以下站点下载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

如果你用的是Mac,那么Homebrew就是安装软件的方式。

似乎版本8不再是最新的,所以它不能使用默认的酿造桶安装java。

相反,我做到了以下几点:

brew install homebrew/cask-versions/

如果这个失败了,直接试试下一个:

brew install homebrew/cask-versions/adoptopenjdk8

使用brew cask list或java -version进行测试