如何在Windows上安装OpenJDK 11?

时间:2018-09-26 07:01:41

标签: windows java-11

过去,Oracle曾经为Windows发布可执行安装程序,该程序将:

  • 解压缩文件
  • 添加注册表项以指示安装的版本和路径
  • 将JRE添加到系统PATH
  • 在Windows中注册卸载程序。

从Java 11开始,Oracle的Java免费版本(Oracle OpenJDK)似乎未包含安装程序。这只是一个包含二进制文件的zip文件。

鉴于前面提到的集成不再存在,我们应该如何在Windows上安装OpenJDK 11?他们不是有必要吗?

8 个答案:

答案 0 :(得分:149)

  1. 将zip文件提取到一个文件夹中,例如C:\Program Files\Java\,它将创建一个jdk-11文件夹(其中bin文件夹是直接子文件夹)。您可能需要管理员权限才能将zip文件解压缩到该位置。

  2. 设置路径:

    • 选择控制面板,然后选择系统。
    • 点击“高级”,然后点击“环境变量”。
    • 将JDK安装的bin文件夹的位置添加到“系统变量”中的PATH变量中。
    • 以下是PATH变量的典型值:C:\WINDOWS\system32;C:\WINDOWS;"C:\Program Files\Java\jdk-11\bin"
  3. 设置JAVA_HOME:

    • 在“系统变量”下,单击“新建”。
    • 输入变量名称JAVA_HOME。
    • 输入变量值作为JDK的安装路径(不带bin子文件夹)。
    • 单击“确定”。
    • 点击“应用更改”。
  4. 在您的IDE中配置JDK(例如IntelliJ或Eclipse)。

您已设置好。

要查看其是否有效,请打开命令提示符并键入java -version,然后查看它是否会打印您新安装的JDK。

如果要卸载-只需撤消上述步骤即可。

注意:您还可以将JAVA_HOME指向JDK安装目录,然后将PATH变量设置为%JAVA_HOME%\bin。因此,当您想更改JDK时,只需更改JAVA_HOME变量,并保持PATH不变。

答案 1 :(得分:11)

来自@ZhekaKozlov的评论:ojdkbuild具有适用于Windows(zipmsi)的OpenJDK构建(当前为8和11)。

答案 2 :(得分:4)

AdoptOpenJDKjava community托管的新网站。您可以在此处找到适用于OpenJDK 8至12的.msi安装程序,它将执行问题中列出的所有事情(解包,注册表项,PATH变量更新(和JAVA_HOME),卸载程序...)。

答案 3 :(得分:3)

使用Chocolatey packet manager。这是一个类似于npm的命令行工具。安装后,请使用

choco install openjdk

在提升权限的命令提示符下,安装OpenJDK。

要将已安装的版本更新为最新版本,请输入

choco upgrade openjdk

使用起来非常简单,对升级到最新版本特别有用。无需手动摆弄路径环境变量。

答案 4 :(得分:2)

您可以使用Amazon Corretto。您可以免费使用OpenJDK的多平台,生产就绪的发行版。它具有长期支持,其中包括性能增强和安全修复。查看安装说明here

您还可以从Zulu中检查Azul

我想在这里强调的另一件事是Amazon Corretto和Zulu都符合TCK。您可以看到OpenJDK构建比较herehere

答案 5 :(得分:1)

对于 Java 12 及更高版本,来自 Oracle 的 OpenJDK(GPL2 + 类路径异常)的官方通用可用性 (GA) 和早期访问 (EA) Windows 64 位版本可从 {{ 3}}。

如果您更喜欢安装程序,有几个发行版。 Java Champions 社区有一个 JDK websitepublic Google Doc,其中列出了最受支持的 OpenJDK 发行版。目前,这些是:

答案 6 :(得分:0)

https://www.openlogic.com/openjdk-downloads 允许我选择一个 32 位版本的 OpenJDK8(别问 - Arduino IDE 不能用 11 编译),我认为它们只是围绕着 AdoptOpenJDK MSI,但我找不到 32 -AdoptOpenJDK 上的发行版。

答案 7 :(得分:-4)

Oracle Java卸载程序不会删除所有文件。
检查“ C:\ ProgramData \ Oracle”是否存在,子目录中是否有一些Java文件。 (例如:java.exe,javaw.exe)
删除它以防止执行错误的Java文件。