共用方式為


從 Java 7 過渡到 Java 8

本文提供從 Java 7 遷移應用程式到 Java 8 的高層次指引。 Java 8 功能的使用不在討論範圍內。

沒有一套放諸四海皆準的解決方案能將程式碼從 Java 7 轉換到 Java 8。 從 Java 7 轉換到 Java 8 通常只需要少量工作。 潛在問題包括幾項 API 變更、javac 型別推論的加強、類別載入器的變更,以及 permgen (垃圾回收的一部分)的變更。

一般來說,最好的方法是嘗試在 Java 8 上執行,而不先重新編譯。 這種方法能讓你的應用程式盡快上線。 對於函式庫來說,你的目標是發佈一個經過 JDK 8 編譯和測試的產物。

Java 7 終止生命週期(EOL)

社群支援將於 Java 7 於 2022 年 7 月 29 日終止支援時結束。 任何在 Java 7 上運行的應用程式都會繼續執行,但 Java 7 本身不會收到更新或安全修補。 為了降低風險與潛在的安全漏洞,請根據你的工作負載需求升級應用程式至 Java 8 或 11。

一般的指南是 Oracle JDK 遷移指南。 遷移指南涵蓋了 Java 規範中的所有不相容 性以及 JDK 實作中的不相容性。 大多數不相容情況屬於邊緣情況,當你看到警告或遇到錯誤時,應該進行調查。

運行於 Java 8 上

大多數應用程式應該能在 Java 8 上無需修改即可執行。 首先要嘗試的是在 Java 8 上執行,不重新編譯程式碼。 執行的目的是看看執行過程中會產生哪些警告和錯誤。 此方法可獲得一個
透過專注於最小化的工作,應用程式能更快在 Java 8 上執行。

你可以解決大多數遇到的問題,而不必重新編譯程式碼。 如果你必須修正程式碼中的問題,那就修正,但繼續用 JDK 7 編譯。 如果可能,先讓應用程式能 第 8 版執行 java ,再用 JDK 8 編譯

使用 Java 8 編譯

使用 JDK 8 編譯可能需要更新以建立腳本、工具、測試框架及內建函式庫。 使用 -Xlint:unchecked 選項 以 javac 獲得關於 JDK 內部 API 使用詳情及其他警告。

微軟Azure應用服務從Java 7升級

要將你的應用程式服務從 Java 7 遷移到 Java 8 或 11,請登入 Azure 入口網站,然後前往你想更新的網頁應用程式,然後前往設定>>設定的堆疊設定。 你會看到與 Java 主版本和次版本相關的下拉選單,以及如果你使用 Tomcat,還有 Tomcat 版本的下拉選單。 選擇 Java 8 或 11。 請記得,你可以在部署時隙進行這個設定變更,以安全地測試設定變更,然後再將新環境切換到生產環境。 (Java 7 可能被隱藏,以防止客戶依賴舊執行環境。)欲了解更多資訊,請參閱 Azure App Service 中的「設置階段環境」。

用選擇器更改你的 Java 版本

如果你需要指定新的執行時選項,可以用 JAVA_TOOLS 應用程式設定,啟動時就會套用。 欲了解更多資訊,請參閱 「為 Azure App Service 配置 Java 應用程式」。 欲了解更多關於 App Service 執行時支援政策的資訊,請參閱 App Service 總覽中的內建語言與框架章節。

後續步驟

當您讓應用程式在 Java 8 上運行後,我們建議依照以下指南,依照 Java 現代化路徑轉至 Java 11。