编者注:这个问题是在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机器,你已经安装了自制软件。

安装桶(Homebrew 0.9.5或更高版本,包括桶,因此跳过此步骤):

$ brew tap caskroom/cask
$ brew tap caskroom/versions

安装最新的java:

$ brew cask install java

安装java 8:

$ brew cask install adoptopenjdk/openjdk/adoptopenjdk8

如果你想安装/管理多个版本,那么你可以使用'jenv':

安装和配置jenv:

$ brew install jenv
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

将已安装的java添加到jenv:

$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.11.0_2.jdk/Contents/Home

查看所有已安装的java:

$ jenv versions

上面的命令将给出已安装java的列表:

* system (set by /Users/lyncean/.jenv/version)
1.8
1.8.0.202-ea
oracle64-1.8.0.202-ea

配置你想要使用的java版本:

$ jenv global oracle64-1.6.0.39

设置JAVA_HOME:

$ jenv enable-plugin export

其他回答

我有同时使用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和它的集合。

注意: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

用啤酒

brew install Caskroom/cask/java

到2023年,我在苹果芯片上无法使用brew install -cask zulu8。Brew install openjdk@8也没有。对我来说唯一有效的解决方案是brew install—cask adoptopenjdk8,然后当然是vim ~/。zshrc with export JAVAC_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8。jdk/Contents/Home/在该文件中。

使用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