编者注:这个问题是在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

其他回答

Oracle在简化Java安装和配置方面的记录很差,但使用Homebrew,最新的OpenJDK (Java 14)可以安装:

brew install --cask adoptopenjdk8

对于依赖于旧版本(通常是Java 8)的许多用例,AdoptOpenJDK项目通过一个额外的步骤使之成为可能。

brew tap adoptopenjdk/openjdk
brew install --cask adoptopenjdk8

现有的Homebrew用户可能会遇到错误:Cask adoptopenjdk8存在于多个点击中,这是由于之前使用不同指令的解决方案。这可以通过使用brew install——cask adoptopenjdk/openjdk/adoptopenjdk8完全指定位置来解决。

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

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

我使用Johan写的这个脚本:

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

现在可以在启动时设置它,或者在启动后调用脚本。 安装Mac版JDK

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


更新推荐! !:

使用jenv https://www.jenv.be/和自制。

然后它只是jenv global oracle6401.6.0.39和它的集合。

截至2021年

brew install --cask adoptopenjdk/openjdk/adoptopenjdk8

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

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

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

brew install homebrew/cask-versions/

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

brew install homebrew/cask-versions/adoptopenjdk8

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