Azure 和 Azure Stack 上的 Java 支持

Java 开发人员可以构建和集成应用程序,并将其部署到各种 Azure 和 Azure Stack 服务。 开发人员可以在大多数 Microsoft Azure 服务中自由使用所选的 Java 分发版和版本。 某些服务将代表客户提供和管理 Java 运行时。 本文档将帮助你了解默认情况下哪些服务提供 Java 运行时,以及哪些服务不提供。

重要

2021 年 6 月 30 日更新: 自 2022 年 1 月 1 日起,Azure 的 Zulu 不再收到更新或支持。 Azure 服务已转换为 适用于 JDK 11 的 OpenJDK 的 Microsoft 内部版本和 用于 JDK 8 的 Eclipse Temurin 。 有关详细信息,请参阅 Zulu for Azure 版 OpenJDK 的更新、支持和可用性结束

支持的 Java 版本和更新计划

Microsoft 开发人员工具、Azure、Azure Arc 和 Azure Stack 服务支持以下版本的 Java:

对 OpenJDK 8u、OpenJDK 11u 和 OpenJDK 17u 的更新每季度发布一次(1 月、4 月、7 月和 10 月)。

有关其他版本的 Java 的可用性和支持路线图的详细信息,请参阅特定 Azure 服务文档。

具有托管或默认 Java 运行时的服务

对于以下服务,Java 运行时默认由 Microsoft 管理或提供:

  • Windows 上的Azure App 服务
  • Linux 上的 Azure 应用服务
  • Azure Functions
  • Azure Spring Apps
  • Azure Service Fabric
  • Azure HDInsight
  • Azure 认知搜索
  • Azure Cloud Shell
  • Azure DevOps
  • Azure Managed Instance for Apache Cassandra
  • Azure Cosmos DB for Apache Cassandra

对于上面的一些服务,可以从默认提供的服务更改 Java 运行时。 有关详细信息,请参阅该服务的文档。

已部署 OpenJDK 分发版

Microsoft 可能会对其某些服务(即 Eclipse Temurin 和 Azul Zulu)使用第三方 Java 分发版和二进制文件作为一系列 Java 版本。 只要有可用的更新,Microsoft 就会将这些第三方分发版保持为最新状态。 对于所有其他情况,Microsoft 生成、支持和部署 Microsoft Build of OpenJDK

无托管或默认 Java 运行时的服务

在以下情况下,Java 运行时的选择由你决定:

  • 使用 Azure 虚拟机、Azure Kubernetes 服务(AKS)、Azure 容器实例(ACI)、Azure 容器应用、Azure Red Hat OpenShift 和 Azure App 服务用于容器的 Web 应用等 Azure 服务。
  • 使用用户必须手动配置基础结构及其组件的服务。

尽管 Java 开发人员可将其拥有的来自其他供应商的 Java 运行时引入到这些服务上的 Azure,但 Microsoft 建议你使用以下任意一种 OpenJDK 分发版:

有关如何安装和使用 OpenJDK 的信息,请参阅其中一种分发版的文档。

客户支持

如果遇到与将 Java 应用程序部署到 Azure、Azure Stack 服务和已启用 Azure Arc 的群集以及与 Azure REST API 集成相关的问题,拥有符合条件的支持计划的客户无需任何额外费用即可获得支持。