共用方式為


App Service 的語言執行階段支援原則

本文說明在 Azure App Service 中更新現有堆疊和淘汰終止支援堆疊的語言執行階段支援原則。 此原則會釐清現有的做法,但不代表對客戶承諾的變更。

更新現有的堆疊

App Service 會在從每個社群可供使用之後更新現有的堆疊。 App Service 會更新主要版本的堆疊,但無法保證任何特定的次要或修補程式版本。 平台會控制次要和修補程式版本。 例如,App Service 會更新 Node 18,但不保證特定的 Node 18.x.x 版本。 如果您需要特定的次要或修補程式版本,您可以使用自訂容器

淘汰

App Service 遵循執行階段生命週期的社群支援時間表。 在語言的社群支援達到終止支援之後,您的應用程式會不變地繼續執行。 不過,App Service 無法針對超過終止支援日期的執行階段版本提供安全性修補程式或相關客戶支援。 如果您的應用程式在該版本的終止支援日期之後發生任何問題,您應該向上移至支援的版本,以接收最新的安全性修補程式和功能。

重要

如果您執行的應用程式使用不支援的語言版本,您必須先升級至支援的語言版本,才能取得這些應用程式的支援。

通知

執行階段版本的終止支援日期是由其各自的堆疊獨立決定,不受 App Service 的控制。 App Service 會在可供各個語言使用時,傳送即將終止支援執行階段版本的提醒通知給訂用帳戶擁有者。

收到通知的角色包括帳戶管理員、服務管理員和共同管理者。 參與者、讀者或其他角色不會直接接收通知,除非他們選擇使用服務健康狀態警示來接收通知電子郵件。

語言執行階段版本支援的時間表

若要深入了解語言支援原則的特定時間表,請參閱下列資源:

設定語言版本

若要深入了解如何更新 App Service 應用程式的語言版本,請參閱下列資源:

Java 特定執行階段支援聲明

JDK 版本和維護

適用於 Java 8、11、17 和 21 的 App Service 上會提供及支援 OpenJDK 的 Microsoft 和 Adoptium 組建。 這些二進位檔會以無成本、多平台且生產環境就緒的適用於 Azure 的 OpenJDK 發行版本來提供。 其中包含建置及執行 Java SE 應用程式所需的所有元件。 若要進行本機開發或測試,您可以從下載頁面安裝 OpenJDK 的 Microsoft 組建。

Java 堆疊名稱 Linux 發行版本 Java 發行版本
Java 8 Alpine 3.16* Adoptium Temurin 8 (MUSL)
Java 11 Alpine 3.16* MSFT OpenJDK 11 (MUSL)
JAVA 17 Ubuntu MSFT OpenJDK 17
Java 21 Ubuntu MSFT OpenJDK 21
Tomcat 8.5 Java 8 Alpine 3.16* Adoptium Temurin 8 (MUSL)
Tomcat 8.5 Java 11 Alpine 3.16* MSFT OpenJDK 11 (MUSL)
Tomcat 9.0 Java 8 Alpine 3.16* Adoptium Temurin 8 (MUSL)
Tomcat 9.0 Java 11 Alpine 3.16* MSFT OpenJDK 11 (MUSL)
Tomcat 9.0 Java 17 Ubuntu MSFT OpenJDK 17
Tomcat 9.0 Java 21 Ubuntu MSFT OpenJDK 21
Tomcat 10.0 Java 8 Ubuntu Adoptium Temurin 8
Tomcat 10.0 Java 11 Ubuntu MSFT OpenJDK 11
Tomcat 10.0 Java 17 Ubuntu MSFT OpenJDK 17
Tomcat 10.0 Java 21 Ubuntu MSFT OpenJDK 21
Tomcat 10.1 Java 11 Ubuntu MSFT OpenJDK 11
Tomcat 10.1 Java 17 Ubuntu MSFT OpenJDK 17
Tomcat 10.1 Java 21 Ubuntu MSFT OpenJDK 21
JBoss 7.3 Java 8 Ubuntu Adoptium Temurin 8
JBoss 7.3 Java 11 Ubuntu MSFT OpenJDK 11
JBoss 7.4 Java 8 Ubuntu Adoptium Temurin 8
JBoss 7.4 Java 11 Ubuntu MSFT OpenJDK 11
JBoss 7.4 Java 17 Ubuntu MSFT OpenJDK 17

* Alpine 3.16 是 App Service 中最後支援的 Alpine 散發套件。 您應該固定一個版本,以避免自動切換至 Ubuntu。 請務必盡可能測試並切換至 Ubuntu 型散發套件支援的 Java 供應項目。

如果您固定為較舊的 Java 次要版本,則您的應用程式可使用透過 Azul Systems 提供的已淘汰適用於 Azure 的 Azul Zulu 二進位檔。 您可以繼續針對您的應用程式使用這些二進位檔,但任何安全性修補檔或增強功能都只會在新版本的 OpenJDK 中提供,因此建議您定期將 Web Apps 更新為較新版本的 Java。

透過 Azure App Service 中的新執行階段選項,提供主要版本更新。 客戶會更新為設定其 App Service 部署的這些新版 Java,以及負責測試並確定主要更新符合其需求。

每年 1 月、4 月、7 月和 10 月都會以季為單位自動修補支援的 JDK。 如需 Azure 上的 Java 詳細資訊,請參閱此支援文件

安全性更新

只要主要資訊安全漏洞的修補檔和修正程式在 OpenJDK 的 Microsoft 組建中變成可用,就會予以發行。 在 NIST Common Vulnerability Scoring System 第 2 版上,「主要」弱點具有基本分數 9.0 或更大值。

Tomcat 8.5 在 2024 年 3 月 31 日生命週期結束,Tomcat 10.0 在 2022 年 10 月 31 日生命週期結束

雖然執行階段仍可在 Azure App Service 上使用,但 Tomcat 8.5 或 10.0 不會接收安全性更新。

可能的話,請將您的應用程式移轉至 Tomcat 9.0 或 Tomcat 10.1。 Tomcat 9.0 和 Tomcat 10.1 都已在 Azure App Service 上提供。 如需詳細資訊,請參閱 Tomcat 官方網站

Java 7 社群支援已於 2022 年 7 月 29 日結束,Java 7 已從 App Service 淘汰。 如果您有在 Java 7 上執行的 Web 應用程式,請立即升級至 Java 8 或 11。

取代和淘汰

如果支援的 Java 執行階段已淘汰,則使用受影響執行階段的 Azure 開發人員會在執行階段淘汰之前至少六個月收到淘汰通知。

本機開發

開發人員可以從我們的下載網站下載 OpenJDK 的 Microsoft 組建以進行本機開發。

若使用合格的 Azure 支援方案開發 Azure 或 Azure Stack,則會透過 Microsoft 提供 OpenJDK 的 Microsoft 組建的產品支援。