本文向您展示如何在Mac OSX上安装Java,以及如何进行Java / JDK版本切换。
经过测试
- Mac OS 10.15.3
- JDK 8,9,10,11,12,13(采用OpenJDK)
注意
在Mac OSX上,应将Java安装在此文件夹中; 这是Mac的标准。/Library/Java/JavaVirtualMachines/
我们将通过流行的Homebrew软件包管理器和手动安装向您展示两种在Mac上安装Java JDK的方法。
1.自制
1.1安装Homebrew并进行更新。
$ brew update
1.2添加acceptopenjdk / openjdk 。
$ brew tap adoptopenjdk/openjdk
1.3查找所有可用的JDK。
$ brew search jdk
输出可能会有所不同。
==> Casks
adoptopenjdk adoptopenjdk12 adoptopenjdk13-openj9 adoptopenjdk8-openj9-jre
adoptopenjdk10 adoptopenjdk12-jre adoptopenjdk13-openj9-jre adoptopenjdk8-openj9-jre-large
adoptopenjdk11 adoptopenjdk12-openj9 adoptopenjdk13-openj9-jre-large adoptopenjdk8-openj9-large
adoptopenjdk11-jre adoptopenjdk12-openj9-jre adoptopenjdk13-openj9-large adoptopenjdk9
adoptopenjdk11-openj9 adoptopenjdk12-openj9-jre-large adoptopenjdk8 oracle-jdk
adoptopenjdk11-openj9-jre adoptopenjdk12-openj9-large adoptopenjdk8 oracle-jdk-javadoc
adoptopenjdk11-openj9-jre-large adoptopenjdk13 adoptopenjdk8-jre sapmachine-jdk
adoptopenjdk11-openj9-large adoptopenjdk13-jre adoptopenjdk8-openj9
1.4 Java 8、9、10、11、12、13,选择一个进行安装。
brew cask install adoptopenjdk8
brew cask install adoptopenjdk9
brew cask install adoptopenjdk10
brew cask install adoptopenjdk11
brew cask install adoptopenjdk12
brew cask install adoptopenjdk13
本示例将安装Java 8和11进行测试。
$ brew cask install adoptopenjdk8
$ brew cask install adoptopenjdk11
1.5 Java安装在哪里? /usr/libexec/java_home -V
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
11.0.6, x86_64: "AdoptOpenJDK 11" /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
1.8.0_242, x86_64: "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
Homebrew将在文件夹/Library/Java/JavaVirtualMachines/
安装JDK,该文件夹是Mac上Java安装的标准文件夹。
1.6对其进行测试,默认情况下,Mac使用最高版本。
$ java -version
openjdk version "11.0.6" 2020-01-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.6+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.6+10, mixed mode)
1.7如何进行版本切换? 请参阅以下3.版本切换
2.手动安装
该示例说明如何下载早期访问JDK 14并将其安装在Mac OSX上。
脚步
- 下载JDK。
- 将JDK文件夹放在
/Library/Java/JavaVirtualMachines
。 - 导出
JAVA_HOME
。
2.1从OpenJDK网站下载早期访问的JDK 14。
2.2将tar文件提取到/Library/Java/JavaVirtualMachines
$ cd /Library/Java/JavaVirtualMachines
$ sudo cp ~/Downloads/openjdk-14_osx-x64_bin.tar.gz /Library/Java/JavaVirtualMachines
$ pwd
/Library/Java/JavaVirtualMachines
$ sudo tar xzf openjdk-14_osx-x64_bin.tar.gz
$ sudo rm openjdk-14_osx-x64_bin.tar.gz
2.3导出JAVA_HOME
。
找出JDK 14在哪里。
$ /usr/libexec/java_home -v14
/Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/Home
使用文本编辑器创建或编辑现有的~/.bash_profile
。
$ vim ~/.bash_profile
导出JAVA_HOME
,保存并退出。
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/Home
反映变化
$ source ~/.bash_profile
2.4测试。
$ java -version
openjdk version "14" 2020-03-17
OpenJDK Runtime Environment (build 14+36-1461)
OpenJDK 64-Bit Server VM (build 14+36-1461, mixed mode, sharing)
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/Home
3.版本切换
在本教程中,我们通过Homebrew
(步骤1)和Java 14(步骤2)手动安装了Java 8和Java 11,因此该Mac现在具有三个版本。 Mac使用的是JDK 14。
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
14, x86_64: "OpenJDK 14" /Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/Home
11.0.6, x86_64: "AdoptOpenJDK 11" /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
1.8.0_242, x86_64: "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/Home
注意
有诸如jEnv之类的工具来管理Java版本切换,但是我更喜欢手动使用export JAVA_HOME
进行管理,它简单易懂,没有黑盒魔术。
3.1使用文本编辑器(如vim或nano)创建或编辑现有的~/.bash_profile
, export JAVA_HOME
到我们要在Mac上使用的指定JDK。
$ vim ~/.bash_profile
export JAVA_HOME_8=$(/usr/libexec/java_home -v1.8)
export JAVA_HOME_11=$(/usr/libexec/java_home -v11)
export JAVA_HOME_14=$(/usr/libexec/java_home -v14)
# Java 8
export JAVA_HOME=$JAVA_HOME_8
# Java 11
# export JAVA_HOME=$JAVA_HOME_11
以上更改将使JAVA_HOME
指向JAVA 8。
3.2反映变化。
$ source ~/.bash_profile
$ java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.242-b08, mixed mode)
做完了
如果要再次切换JDK版本,请更新~/.bash_profile
并将export JAVA_HOME
到其他JDK版本。
参考文献
翻译自: https://mkyong.com/java/how-to-install-java-on-mac-osx/