我想用最新的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的安装程序不把它放在真正的地方?我该如何解决这个问题?
首先从终端安装brew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Java 8:
brew tap caskroom/versions
brew cask install java8
Java 9(最新版):
brew update
brew cask install java
不要依靠Oracle在Mac上正确安装Java。
使用自制软件:
brew update
brew cask install java
如果您想要在Mac上管理多个Java版本,请考虑使用jenv。
更新:现在,Java 8不再是最新的版本,我们需要这样安装它:
brew tap caskroom/versions
brew cask install java8
要获得所有旧版本的Java的列表: brew cask search java
我们使用brew cask,因为否则我们会使用Oracle GUI安装程序,该安装程序可能无法在您的Mac上正确安装Java。(使用brew桶安装APP安装GUI应用程序;使用brew安装APP。)Java不是GUI应用程序; 它不应该要求“木桶”,但至少甲骨文是一致的。