过去,Oracle 曾经发布过适用于 Windows 的可执行安装程序,它会:
解压文件
添加指示已安装版本和路径的注册表项
将 JRE 添加到系统 PATH
向 Windows 注册卸载程序。
从 Java 11 开始,Oracle 的免费 Java 版本 (Oracle OpenJDK) 似乎不包含安装程序。它只是一个包含二进制文件的 zip 文件。
既然上述集成不再存在,我们应该如何在 Windows 上安装 OpenJDK 11?它们不是必需的吗?
将 zip 文件解压缩到一个文件夹中,例如 C:\Program Files\Java\,它将创建一个 jdk-11 文件夹(其中 bin 文件夹是一个直接子文件夹)。您可能需要管理员权限才能将 zip 文件解压缩到此位置。设置路径:选择控制面板,然后选择系统。单击高级,然后单击环境变量。将JDK安装的bin文件夹的位置添加到系统变量中的PATH变量中。以下是 PATH 变量的典型值:C:\WINDOWS\system32;C:\WINDOWS;"C:\Program Files\Java\jdk-11\bin" 设置 JAVA_HOME:在系统变量下,单击新建。输入变量名称为 JAVA_HOME。输入变量值作为JDK的安装路径(不包括bin子文件夹)。单击确定。单击应用更改。在您的 IDE(例如 IntelliJ 或 Eclipse)中配置 JDK。
你已经准备好了。
要查看它是否有效,请打开命令提示符并键入 java -version
并查看它是否打印了您新安装的 JDK。
如果要卸载 - 只需撤消上述步骤。
注意:您还可以将 JAVA_HOME
指向 JDK 安装文件夹,然后将 PATH
变量设置为 %JAVA_HOME%\bin
。因此,当您想更改 JDK 时,您只需更改 JAVA_HOME
变量并保持 PATH
不变。
AdoptOpenJDK 是由 java community 托管的新网站。您可以在那里找到 OpenJDK 8 到 16 的 .msi 安装程序,它将执行问题中列出的所有内容(解包、注册表项、PATH 变量更新(和 JAVA_HOME)、卸载程序...)。
在撰写本文时,AdoptOpenJDK 仍托管最新版本的 OpenJDK,但未来计划在 Eclipse Adoptium 提供新版本。
使用 Chocolatey packet manager。它是一个类似于 npm 的命令行工具。安装后,使用
choco install openjdk --version=11.0
在提升的命令提示符中安装 OpenJDK 11(省略 --version
参数以安装最新版本)。
要将已安装的版本更新到最新版本,请键入
choco upgrade openjdk
使用起来非常简单,特别有助于升级到最新版本。无需手动摆弄路径环境变量。
来自@ZhekaKozlov 的评论:ojdkbuild 具有适用于 Windows(zip
和 msi
)的 OpenJDK 构建(当前为 8 和 11)。
java -version
并获得所需的输出。
对于 Java 12 及更高版本,Oracle 的 OpenJDK(GPL2 + 类路径例外)的官方通用可用性 (GA) 和早期访问 (EA) Windows 64 位版本可从 JDK website 以 tar.gz/zip 的形式提供。
如果您更喜欢安装程序,有几个发行版。 Java Champions 社区提供的 public Google Doc 和 Blog post 列出了最受支持的 OpenJDK 发行版。目前,这些是:
AdoptOpenJDK 已被 Adoptium/Temurin (Hotspot) 和 IBM Semeru (OpenJ9) 取代
铁木兰收养
亚马逊 Corretto
IBM Semeru(使用 OpenJ9 JVM)
来自 Bellsoft 的 Liberica
OpenJDK 的 Microsoft 构建
OpenLogic OpenJDK
红帽 OpenJDK
SAPMachine(由 SAP 提供支持)
Zulu 社区(由 Azul Systems 支持)
https://www.openlogic.com/openjdk-downloads 允许我选择 32 位版本的 OpenJDK8(不要问 - Arduino IDE 无法使用 11 编译),我认为他们只是围绕 AdoptOpenJDK MSI 进行了包装,但我在 AdoptOpenJDK 上找不到 32 位发行版.
除了上面的答案,值得注意的是,你必须将你的 JDK Path 条目移动到 Path 的顶部
https://i.stack.imgur.com/EVgyk.png