编者注:这个问题是在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的安装程序不把它放在它真正应该去的地方?我该如何解决这个问题呢?
我也有同样的问题要解决,因为我需要安装JDK8来运行Android SDK管理器(因为它似乎与JDK9不太配合)。
然而,我告诉你我是如何解决Mac (Sierra)上的所有问题的。
首先,你需要和cask和jenv一起酿酒。
You can find an useful guide here,Homebrew Cask Installation Guide.
Remember to tap 'caskroom/versions' running in the terminal:
brew tap caskroom/versions
After that, install jenv with:
brew install jenv
Install whatever version you want with cask
brew cask install java8 (or java7 or java if you want to install the latest version, jdk9)
The last step is to configure which version to run (and let jenv to manage your JAVA_HOME)
jenv versions to list all versions installed on your machine and then activate the one you want with jenv global [JDK_NAME_OF_LIST]
你可以在这个Github Gist brew-java-and-jenv上找到其他有用的信息。在Mac和Jenv网站上安装多个JDK
使用Homebrew安装
在2018年10月3日之前,Homebrew Cask中可用的Java版本确实是Oracle JVM。但是现在,它已经更新为OpenJDK。请确保更新Homebrew,然后您将看到可供安装的最新版本。
1. 如果你还没有安装Homebrew。确保已更新:
brew update
2. 添加桶龙头,如果你还没有(或者你在步骤3中没有看到旧的Java版本):
brew tap homebrew/cask-versions
3.对于AdoptOpenJDK版本,添加tap:
brew tap adoptopenjdk/openjdk
这些桶经常更改其Java版本,并且可能还有其他带有额外Java版本的水龙头。
4. 寻找可安装的版本:
brew search java
或AdoptOpenJDK版本:
brew search jdk
5. 检查将要安装的版本的详细信息:
brew cask info java
或AdoptOpenJDK版本:
brew cask info adoptopenjdk
6. 安装特定版本的JDK,如java11、adoptopenjdk8,或者当前只安装java或adoptopenjdk。例如:
**brew cask install java**
**brew cask install java8**
**brew cask install java11**
您也可以使用旧版本的完全限定路径:
brew cask install homebrew/cask-versions/java11