共用方式為


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 服務 中的新運行時間選項來提供。 客戶會更新為設定其 App Service 部署的這些新版 Java,以及負責測試並確定主要更新符合其需求。

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

安全性更新

在OpenJDK的 Microsoft 組建中提供修補程式和修正程式時,就會立即發行主要安全性弱點。 NIST 常見弱點評分系統第 2 版的基底分數為 9.0 或更高。

截至2024年3月31日,Tomcat 8.5達到生命周期結束,截至2022年10月31日,湯姆卡特10.0達到生命周期結束。

雖然運行時間仍可在 Azure App 服務 上使用,但 Tomcat 8.5 或 10.0 將不會收到安全性更新。

可能的話,請將您的應用程式移轉至 Tomcat 9.0 或 Tomcat 10.1。 Tomcat 9.0 和 Tomcat 10.1 可在 Azure App 服務 取得。 如需詳細資訊,請參閱 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 組建的產品支援。