AdoptOpenJDK 已变更为 Temurin JDK
JDK 概述
2019 年之后, Oracle 对 Java 的商业模式进行了一系列改革, 因此多种版本的 JDK 出现在开发者的视野中。 整体来看, 存在三个版本的 JDK, 分别是:
-
Oracle JDK Oracle 规定在一个 Oracle JDK 的生命周期内 (指的是下一个版本的 JDK 推出之前) 可以免费商用, 而生命周期之外继续在生产环境中使用, 想要继续商用 Oracle 对该版本的后续更新就需要付费。 所以说如果想要使用 Oracle JDK 又不想付费, 只要一直使用最新版本的 JDK 就可以了。
-
Oracle 编译的 OpenJDK Oracle 还提供其编译的 OpenJDK, 事实上这个 OpenJDK 与其他 OpenJDK 几乎没有区别。但是 OpenJDK 在 Oracle 不再维护后会转交给 RedHat 维护。
-
第三方厂商编译的 OpenJDK 这些厂商编译版本中,常用的是 AdoptOpenJDK ,Zulu
其实三者在功能上并没有明显的差异, 主要在一些版权相关的 API 上有一些差别(如 OpenJDK 就无法使用 Oracle 版本中所使用的字体渲染 API)。
安装
- 安装最新版
brew install --cask adoptopenjdk
- 想安装特定的版本,先要添加 AdoptOpenJDK 的仓库,再安装特定的版本
brew tap AdoptOpenJDK/openjdk
brew install --cask <version>
通过这种指定版本的方式可以同时安装多个版本的 JDK 。 以下列出部分版本的名称,更多版本名称见官方文档。
Java Version | JDK | JRE |
---|---|---|
OpenJDK8 with Hotspot JVM | adoptopenjdk8 |
adoptopenjdk8-jre |
OpenJDK9 with Hotspot JVM | adoptopenjdk9 |
n/a |
OpenJDK10 with Hotspot JVM | adoptopenjdk10 |
n/a |
OpenJDK11 with Hotspot JVM | adoptopenjdk11 |
adoptopenjdk11-jre |
OpenJDK12 with Hotspot JVM | adoptopenjdk12 |
adoptopenjdk12-jre |
OpenJDK13 with Hotspot JVM | adoptopenjdk13 |
adoptopenjdk13-jre |
OpenJDK14 with Hotspot JVM | adoptopenjdk14 |
adoptopenjdk14-jre |
OpenJDK15 with Hotspot JVM | adoptopenjdk15 |
adoptopenjdk15-jre |
在不同 JDK 版本之间切换
首先在 ~/.bashrc 或者 ~/.zshrc 中添加如下脚本:
jdk() {
version=$1
export JAVA_HOME=$(/usr/libexec/java_home -v"$version");
java -version
}
重启终端后,使用如下命令切换不同的版本
jdk 8
jdk 9
jdk 11
jdk 13
...
官网:https://github.com/AdoptOpenJDK/homebrew-openjdk