安装 Microsoft Build of OpenJDK

本文介绍如何安装 Microsoft Build of OpenJDK。 要获取本文中提及的文件,请参阅下载 Microsoft Build of OpenJDK

ZIP 和 TAR.GZ 包

对于 Windows、Linux 和 macOS,我们将生成 ZIP (Windows) 和 TAR.GZ (Linux/macOS) 包。 要安装,请将其中一个包解压缩到你选择的文件夹中,然后将 JAVA_HOME 环境变量设置为该文件夹。

或者,可使用适用于你选择的操作系统的本机安装程序,如下一部分所述。

本机安装程序

对于 Windows,我们将生成具有图形界面的 MSI 安装程序。 对于 macOS,我们将生成具有类似功能的 PKG 安装程序。 这些安装程序将自动使 JDK 工具在 PATH 中可用。

对于 Linux,我们将生成用于 aptrpm 的 DEB 和 RPM 包。

下列各部分提供了这些安装程序的说明。

在 Windows 上安装

要在任何版本的 Windows 上安装,可使用 MSI 包或 ZIP 包。 如果使用的是 Windows 10 或更高版本,可在 Windows 终端中使用 Windows 程序包管理器

通过 MSI 在 Windows 上安装

MSI 安装程序提供图形安装方法和仅限控制台安装方法。 如果双击 MSI 文件,将会启动传统的 Windows 应用程序安装程序,你可在其中按照屏幕上的说明操作。

对于大规模部署,可通过以下步骤在命令行上安装 MSI:

  1. 下载 .msi 文件。 有关详细信息,请参阅下载 Microsoft Build of OpenJDK

  2. 从下表中选择要安装的功能:

    Feature 说明
    FeatureMain 核心安装(默认)
    FeatureEnvironment 更新 PATH 环境变量。 (默认)
    FeatureJarFileRunWith 将 .jar 文件与 Java 应用程序相关联。 (默认)
    FeatureJavaHome 更新 JAVA_HOME 环境变量。
    FeatureOracleJavaSoft 更新注册表项 HKLM\SOFTWARE\JavaSoft\

    注意

    卸载 Microsoft Build of OpenJDK 时,可使用 FeatureOracleJavaSoft 阻止 Oracle Java 从 PATH 启动。 如果需要还原 Oracle 注册表项,请重新安装 Oracle Java。

    可使用将某些功能组合在一起的可选参数,如下例所示:

    参数 功能
    INSTALLLEVEL=1 FeatureMain,FeatureEnvironment,FeatureJarFileRunWith
  3. 在目标工作站上运行 msiexec 命令。 使用所选功能,如下例所示。

    msiexec /i <package>.msi ADDLOCAL=FeatureMain,FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome INSTALLDIR="c:\Program Files\Microsoft\" /quiet
    

    注意

    必须将 INSTALLDIRFeatureMain 配合使用。

    此示例以无提示方式安装 Microsoft Build of OpenJDK,更新 PATH,将 .jar 文件与 Java 应用程序关联,并定义 JAVA_HOME

使用 Windows 程序包管理器 (winget) 在 Windows 上安装

要使用 Windows 程序包管理器进行安装,请先安装 winget,然后打开 Windows 终端。

接下来,使用以下命令搜索 Microsoft Build of OpenJDK 包:

winget search Microsoft.OpenJDK

将显示类似于下面的输出:

Name                           Id                    Version
--------------------------------------------------------------
Microsoft Build of OpenJDK 21  Microsoft.OpenJDK.21  21.0.0

现在可使用以下命令,通过引用上面显示的 Id 来安装包:

winget install Microsoft.OpenJDK.21

此命令生成类似下面的输出:

Found Microsoft Build of OpenJDK 21 [Microsoft.OpenJDK.21]
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licences to, third-party packages.
Downloading https://aka.ms/download-jdk/microsoft-jdk-21.0.0-windows-x64.msi
  ██████████████████████████████   160 MB /  160 MB
Successfully verified installer hash
Starting package install...
Successfully installed

在 macOS 上安装

macOS 包可通过 Homebrew 获取,也可通过 PKG 或 TAR.GZ 格式独立下载。

使用 Homebrew 安装最新版本:

brew install --cask microsoft-openjdk

此命令生成类似下面的输出:

==> Downloading https://aka.ms/download-jdk/microsoft-jdk-21.0.0-macos-x64.pkg
Already downloaded: /Users/foobar/Library/Caches/Homebrew/downloads/c3df619c6411aa15151d0306a6a0f9760ff7ab0b54d0b00daade382500369c81--microsoft-jdk-21.0.0-macos-x64.pkg
==> Installing Cask microsoft-openjdk
==> Running installer for microsoft-openjdk; your password may be necessary.
Package installers may write to any location; options such as `--appdir` are ignored.
Password:
installer: Package name is Microsoft Build of OpenJDK
installer: Installing at base path /
installer: The install was successful.
🍺  microsoft-openjdk was successfully installed!

注意

microsoft-openjdk 指向最新版 Microsoft Build of OpenJDK。

要使用 Homebrew 安装其他版本,需先点击 cask-versions 存储库:

brew tap homebrew/cask-versions
brew install --cask microsoft-openjdk11
# OR
brew install --cask microsoft-openjdk17

要使用 TAR.GZ 包在 macOS 上安装,只需将该文件解压缩到某个位置即可。 JDK 将位于 <location>/jdk-<version>/Contents/Home 内。

要使用 PKG 安装程序进行安装,请打开安装程序并按照说明进行操作。 默认情况下,JDK 将安装在 /Library/Java/JavaVirtualMachines/microsoft-21.jdk/Contents/Home

在 macOS 上卸载

要卸载通过 Homebrew 或 PKG 安装的 Microsoft Build of OpenJDK,请使用以下命令:

sudo rm -rf /Library/Java/JavaVirtualMachines/microsoft-21.jdk
sudo pkgutil --forget com.microsoft.21.jdk

要卸载通过 TAR.GZ 包安装的包,只需删除该文件夹。

在 Ubuntu 上安装

要在 Ubuntu 18.04、20.04 和 22.04 LTS 上安装,请打开终端并运行以下命令:

# Valid values are only '18.04', '20.04', and '22.04'
# For other versions of Ubuntu, please use the tar.gz package
ubuntu_release=`lsb_release -rs`
wget https://packages.microsoft.com/config/ubuntu/${ubuntu_release}/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

添加存储库后,运行以下命令安装 Microsoft Build of OpenJDK:

sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install msopenjdk-21

注意

可能需要更新默认的 JDK 选择,有关详细信息,请参阅此处

在 Debian 上安装

Debian 9

要在 Debian 9 上安装,请打开终端并运行以下命令:

wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
wget -q https://packages.microsoft.com/config/debian/9/prod.list -O /etc/apt/sources.list.d/microsoft-prod.list

添加存储库后,运行以下命令:

sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install msopenjdk-21

注意

可能需要更新默认的 JDK 选择,有关详细信息,请参阅此处

Debian 10-12

要在 Debian 10-12 上安装,请打开终端并运行以下命令:

sudo apt update
sudo apt install wget lsb-release -y
wget https://packages.microsoft.com/config/debian/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

添加存储库后,运行以下命令:

sudo apt update
sudo apt install msopenjdk-21

注意

可能需要更新默认的 JDK 选择,有关详细信息,请参阅此处

在 CentOS 7 上安装 (RPM)

要在 CentOS 7 上安装,请打开终端并运行以下命令:

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

添加存储库后,运行以下命令:

sudo yum install msopenjdk-21

注意

msopenjdk-21 的 RPM 包可能不会自动更新到最新次要版本。 若要查看可用/最新版本,请运行 yum -v list msopenjdk-21。 然后,运行 yum install msopenjdk-21-<version> 以强制更新到指定的版本。 示例: yum install msopenjdk-21-21.0.0-1

在 Alpine 上安装 (TAR.GZ)

要在 Alpine 上安装,只需下载适用于 Alpine 的 tar.gz 包(请参阅下载页面)并解压缩文件夹。

注意

Alpine 不再受支持。 alpine 的最新版本是 jdk-17.0.8.1jdk-11.0.20.1

更改 Linux 上的默认 JDK

如果系统上安装了多个版本的 OpenJDK,请使用以下命令将 Microsoft Build of OpenJDK 设置为默认版本:

对于 Debian/Ubuntu:

sudo update-java-alternatives --set msopenjdk-21-amd64

对于 CentOS,可使用命令 alternative

提供有关 Microsoft Build of OpenJDK 的反馈

向我们发送你的评论、想法和意见,帮助我们改进 Microsoft Build of OpenJDK。 请访问 GitHub 上的 OpenJDK 讨论页面,向我们发送反馈。

Java 和 OpenJDK 是 Oracle 和/或其附属机构的商标或注册商标。