快速入門:升級使用 GitHub Copilot 現代化的 Java 專案

GitHub Copilot 現代化提供 AI 驅動的代理式體驗,自動化 Java 升級工作流程的端到端——從專案分析、計畫生成到程式碼轉換、建置驗證與 CVE 修復。

支援的升級情境

  • 將 Java 開發套件(JDK)升級至 Java 11、17、21 或 25。
  • 將 Spring Boot 升級到 4.0 版本。
  • 將 Spring Framework 升級到 7.x 版本。
  • 將 Java EE 升級到 Jakarta EE,再升級到 Jakarta EE 11。
  • 升級適用於 Java 的 Azure SDK。
  • 升級 JUnit。
  • 將第三方相依性升級至指定版本。

先決條件

  • 一個啟用GitHub Copilot的GitHub帳號。 你需要免費層級、Pro、Pro+、商業或企業方案。
  • Java JDK 適用於原始與目標 JDK 版本。
  • MavenGradle來建立Java專案。
  • 一個使用 Maven 或 Gradle 的 Git 管理 Java 專案。
  • 針對 Maven 型專案:存取公用 Maven Central 存放庫。
  • 安裝 GitHub Copilot CLI

    npm install -g @github/copilot
    
  • 安裝 GitHub Copilot 現代化外掛:

    copilot plugin marketplace add microsoft/modernize-java
    copilot plugin install modernize-java@modernize-java
    

備註

Azure 帳號僅用於部署資源到 Azure,使用 GitHub Copilot 現代化進行程式碼變更時則不需要。

如果你用的是 Gradle,只有 Gradle 包裝器版本 5 或更新版本才支援。

不支援 Kotlin 網域特定語言 (DSL)。

選擇一個 Java 專案來升級

本教學請選擇以下範例庫之一:

啟動升級

請依照以下步驟開始升級流程:

  1. 在 Visual Studio Code 中開啟所選的 Java 專案。

  2. 在側邊欄中開啟 GitHub Copilot 現代化 面板,即可看到 QuickStart 頁面。

  3. 選擇 升級 Java 執行階段與框架

    此操作會開啟 GitHub Copilot Chat 的代理模式,並自動啟動升級流程。

    小提示

    你也可以從快速啟動面板下方的 任務 樹中選擇特定任務(例如升級 春季啟動版本升級雅加達 EE 版本),以觸發目標升級。

    或者,你也可以直接在 GitHub Copilot Chat 用代理模式輸入——例如「「Upgrade my Java project to Java 21」 來啟動升級。

顯示「快速入門」頁面及「升級 Java 執行階段與架構」按鈕的 Visual Studio Code 螢幕擷圖。

請依照以下步驟開始升級流程:

  1. 在 IntelliJ IDEA 中開啟所選的 Java 專案。

  2. 在側邊欄中,開啟 GitHub Copilot 現代化 面板,即可查看 QuickStart 頁面。

  3. 選擇 升級執行時與框架

    此操作會開啟 GitHub Copilot Chat 的代理模式,並自動啟動升級流程。

    小提示

    你也可以直接在 GitHub Copilot Chat 用代理模式輸入——例如「將我的Java專案升級到 Java 21」——來開始升級。

IntelliJ IDEA 的截圖,顯示 GitHub Copilot 現代化面板及升級工作,以及執行升級程序的 Chat 面板。

請依照以下步驟開始升級流程:

  1. 打開終端機,然後進入你的 Java 專案目錄。

  2. 執行升級指令:

    copilot --model claude-sonnet-4.6 --agent modernize-java:modernize-java
    
  3. 客服開始操作後,請輸入您的升級申請:

    upgrade to Java 21 + Spring Boot 3.5.x
    

顯示 Copilot CLI 正在使用 modernize-java 代理程式啟動 Java 升級的終端機螢幕擷圖。

選擇升級目標

開始升級後,代理會提示你選擇目標版本。 選擇想要的 Java 版本,若適用,則選擇專案的 Spring Boot 版本。

檢閱和編輯升級計劃

GitHub Copilot 現代化分析目前工作空間中的 Java 專案,包括其 JDK、建置工具及相依性。 該工具會產生一個包含以下內容的 plan.md 檔案:

  • 可用工具 — 在你的環境中偵測到 JDK 和建置工具。
  • 指引 — 使用者自訂的升級流程限制。
  • 選項 — 運作中的分支與測試設定。
  • 升級目標 — 每個元件的原始版本與目標版本。
  • 技術堆疊 — 依賴性相容性分析,並探討不相容原因。
  • 衍生升級 — 主要目標所需的額外升級(例如,升級至 Spring Boot 3.x 時,javax → jakarta 命名空間遷移)。
  • 影響分析 — 詳細分析相依變更、原始碼變更、設定變更、CI/CD 變更及風險。
  • 升級步驟 — 有序遷移步驟,並附有理由與驗證標準。

檢視計畫並在必要時做出修改,然後確認是否繼續進行。 關於進一步客製化的資訊,請參閱 「客製化升級計畫」。

小提示

確保計畫符合你期望的升級目標——例如從 Java 8 到 Java 21,從 Spring Boot 1.5 到 3.5。

執行升級

確認計畫後,代理會自動進入程式碼轉換階段。 作為此過程的一部分,它執行以下任務:

  • 修改程式碼與設定檔以確保與目標版本相容。
  • 執行建置驗證,確認專案在每個步驟都能成功編譯。
  • 如果在計畫選項中啟用測試驗證,則執行測試驗證。

代理會反覆執行每個升級步驟,直到所有步驟都成功完成。 你可以隨時透過編輯器中的 progress.md 檔案來監控進度。

CVE 驗證與修復

程式碼轉換步驟完成後,代理程式會自動掃描相依性中的常見漏洞與暴露(CVE)問題。 若發現 CVE,代理程式會透過升級受影響的相依性來修復,無需人工介入。 最後的驗證步驟會執行,確認所有東西在 CVE 修正後仍能建置並通過測試。

檢視摘要

升級後,工具會產生一個 summary.md 檔案,內容包括:

  • 執行摘要 — 一段簡要概述升級內容及其成果。
  • 升級改進 — 一份前後對比表,附上主要優點。
  • 建置與驗證 — 建置狀態與測試結果。
  • 限制 — 升級後仍有無法修復的問題。
  • 建議的下一步 行動 — 建議的後續行動,例如產生單元測試或處理任何未修正的 CVE。
  • 補充細節 ——專案元資料、程式碼變更及 CVE 掃描結果。

後續步驟

快速入門:使用GitHub Copilot現代化生成單元測試