應用程式現代化 Java 升級支援以下情境:
- 將 Java Development Kit(JDK)升級至 Java 8、11、17、21 或 25。
- 將 Spring Boot 升級到 3.5 版本。
- 將 Spring Framework 升級到 6.2+ 版本。
- 將 Java EE 升級到 Jakarta EE,再升級到 Jakarta EE 10。
- 升級 JUnit。
- 將 第三方相依套件 升級到指定版本。
- 升級 Ant 構建到 Maven 構建。
本快速入門示範如何使用 GitHub Copilot 應用程式現代化升級 Java 專案。
Prerequisites
- 已啟用 GitHub Copilot 的 GitHub 帳戶。 需要申請免費層級、Pro、Pro+、商業方案或企業方案。
- 下列其中一個整合開發環境 (IDE):
- 最新版的 Visual Studio Code。 必須是 1.101 版或更新版本。
- Visual Studio Code 中的 GitHub Copilot。 如需設定指示,請參閱在 Visual Studio Code 中設定 GitHub Copilot。 請務必在 Visual Studio Code 中登入您的 GitHub 帳戶。
- GitHub Copilot 應用程式現代化。 安裝後重新啟動 Visual Studio Code。
- 最新版本的 IntelliJ IDEA。 必須是 2023.3 或更新版本。
- GitHub Copilot。 必須是 1.5.59 版或更新版本。 如需更多指示,請參閱在 IntelliJ IDEA 中設定 GitHub Copilot。 請務必在 IntelliJ IDEA 中登入您的 GitHub 帳戶。
- GitHub Copilot 應用程式現代化。 安裝後重新啟動 IntelliJ IDEA。 如果您尚未安裝 GitHub Copilot,您可以直接安裝 GitHub Copilot 應用程式現代化。
- 若要在應用程式現代化中更有效率地使用 Copilot:在 IntelliJ IDEA 設定中,選取 [ 工具] GitHub>Copilot 設定視窗,然後選取 [ 自動核准 和 信任 MCP 工具批註]。 如需詳細資訊,請參閱 設定 GitHub Copilot 應用程式現代化的設定,以最佳化 IntelliJ 的體驗。
- 最新版的 Visual Studio Code。 必須是 1.101 版或更新版本。
- Java JDK 用於來源和目標的 JDK 版本。
- Maven 或 Gradle 來建置 Java 專案。
- 使用 Maven 或 Gradle 的 Git 管理 Java 專案。
- 針對 Maven 型專案:存取公用 Maven Central 存放庫。
- 在 Visual Studio Code 設定中,請確定
chat.extensionTools.enabled設定為true。 此設定可能由您的組織控制。
Note
如果您使用 Gradle,則僅支援 Gradle 包裝函式 5+ 版。 不支援 Kotlin 網域特定語言 (DSL)。
IntelliJ IDEA 尚不支援此功能 My Tasks 。
登入以使用 Copilot,然後安裝必要的擴充功能
若要使用 GitHub Copilot,請在 Visual Studio Code 中登入您的 GitHub 帳戶。 選取 Visual Studio Code 頂端的 Copilot 圖示,以存取 GitHub Copilot 窗格。 如需設定 GitHub Copilot 的詳細資訊,請參閱在 VS Code 中設定 GitHub Copilot。
然後,使用下列步驟在 Visual Studio Code 中安裝延伸模組:
- 在 Visual Studio Code 中,從活動列開啟 [ 延伸模組 ] 檢視。
- 在市集中搜尋 GitHub Copilot 應用程式現代化 。
- 選取 GitHub Copilot 應用程式的現代化。
- 在擴充功能頁面上,選取 [ 安裝]。
- 重新啟動 Visual Studio Code。
Tip
為了在 IntelliJ 中獲得最佳體驗,我們建議配置一些關鍵設置。 如需詳細資訊,請參閱 設定 GitHub Copilot 應用程式現代化的設定,以最佳化 IntelliJ 的體驗。
安裝完成之後,您應該會在 Visual Studio Code 的角落看到通知,確認成功。
如需詳細資訊,請參閱 安裝 VS Code 擴充功能。
選取要升級的 Java 專案
針對本教學課程的目的,請選擇下列其中一個範例存放庫:
- Maven: uportal-messaging
- Gradle: docraptor-java
啟動 GitHub Copilot 代理程式模式並啟動升級
使用下列步驟啟動 GitHub Copilot 代理程式模式並啟動升級程式:
在 Visual Studio Code 中開啟選取的 Java 專案。
開啟 GitHub Copilot 聊天面板。
切換至代理程式模式。
輸入提示,例如 使用 Java 升級工具將項目升級至 Java 21 或 使用 Java 升級工具將專案升級至 Java 21,並使用 Java 升級工具將專案升級至 Java 3.2 ,以包含架構資訊。
Note
如果您只需要升級架構或協力廠商相依性,請參閱 使用 GitHub Copilot 應用程式現代化升級架構或協力廠商相依性。
出現提示時,選取 [ 繼續 ] 以產生升級計劃。
檢閱和編輯升級計劃
GitHub Copilot 應用程式現代化會分析目前工作區中的 Java 專案,包括其 JDK、建置工具和相依性。 此工具會產生 plan.md 檔案,其中概述下列計劃性變更:
- 來源和目標 JDK 版本。
- 框架和函式庫升級路徑。
檢視計劃並視需要進行變更,然後選取 [ 繼續] 繼續進行。 如需進一步自定義的詳細資訊,例如新增更多建置工具參數,請參閱 自定義升級計劃。
Tip
請確定方案符合您所需的升級目標,例如 Java 8 到 Java 21、Spring Boot 2.7 到 3.2。
套用程式代碼變更並修正組建問題
GitHub Copilot 接著會繼續進行專案的程式代碼轉換階段。 它會使用稱為 OpenRewrite 的開放原始碼工具,根據特定配方實作一些程式代碼變更。 然後,AI 會透過動態建置/修正迴圈來解決其餘問題。 您可以隨時檢查 progress.md Markdown 檔案,以監視 Visual Studio Code 編輯器區域中的進度。
在程式的各個階段,GitHub Copilot 會提示您繼續。
針對 [確認 OpenRewrite 轉換 步驟],選取 [繼續使用 OpenRewrite 升級 Java 程式代碼]。 此步驟可能需要幾分鐘的時間。
針對 [核准動態建置/修正迴圈 ] 步驟,選取 [ 繼續 ] 以建置專案並修正錯誤。
Copilot 會重複並持續修正錯誤,直到沒有其他問題為止。 進度會顯示在 progress.md 檔案中。 循環會繼續執行,直到專案建置成功為止。
檢查弱點和程式代碼行為變更
在某些情況下,升級可能會造成程式代碼行為變更,或引入具有常見弱點和暴露 (CVE) 問題的連結庫。 此工具會針對這些問題執行額外的檢查。
當 GitHub Copilot 提示 執行驗證是否有任何修改過的相依性已知 CVE 時,請選取 [ 繼續]。
如果找到 CVE,GitHub Copilot 代理程式模式會嘗試修正它們。 檢閱 VS Code 中的變更,並決定是否要保留這些變更。
在 CVE 檢查之後,當系統提示您 執行驗證程式代碼行為一致性時,請選取 [ 繼續]。
如果發現問題,GitHub Copilot 代理程式模式會嘗試解決這些問題。 決定是否要保留或捨棄變更。
檢查完成後,GitHub Copilot 會重建專案,然後重新執行先前的檢查。
如果次要問題仍不需立即修正,升級就會完成。 否則,GitHub Copilot 會回去處理它們。
檢視摘要
升級之後,此工具會在 summary.md 檔案中產生摘要,其中包含下列資訊:
- 項目信息。
- 程式代碼行已變更。
- 更新了依賴項。
- 程式碼變更摘要
- 已修正 CVE 安全性和程式代碼不一致的問題,如果有的話。
- 未修正的次要 CVE 問題。