本快速入門會說明如何使用 GitHub Copilot 應用程式現代化 - 針對 Java 的升級(預覽版)來升級 Java 專案。
先決條件
啟用了 GitHub Copilot 的 GitHub 帳戶,使用商務或企業方案。
最新版的 Visual Studio Code。
GitHub Copilot 應用程式現代化 延伸模組套件。 如需安裝指示,請參閱下一節。
此延伸模組套件組合下列兩個延伸模組:
應用程式現代化不需要本機環境中的Java。 不過,若要成功建置您的專案,請安裝正確的 Java 和 Maven 版本。 我們推薦使用 Microsoft Build of OpenJDK 和 Maven。
已安裝的來源和目標 JDK 版本。
使用 Maven 或 Gradle 的 Git 管理 Java 專案。
針對 Maven 型專案:存取公用 Maven Central 存放庫。
請確定 Visual Studio Code 設定中的 “chat.extensionTools.enabled” 設定為 true 。 此設定可能由您的組織控制。
備註
如果您使用 Gradle,則僅支援 Gradle 包裝函式 5+ 版。 不支援 Kotlin DSL。
登入以使用 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。
安裝完成之後,您應該會在 Visual Studio Code 的角落看到通知,確認成功。
如需詳細資訊,請參閱 安裝 VS Code 擴充功能。
選取要升級的 Java 專案
針對本教學課程的目的,請選擇下列其中一個範例存放庫:
- Maven: uportal-messaging
- Gradle: docraptor-java
啟動 GitHub Copilot 代理程式模式並啟動升級
使用下列步驟啟動 GitHub Copilot 代理程式模式並啟動升級程式:
- 在 Visual Studio Code 中開啟選取的 Java 專案。
- 開啟 GitHub Copilot 聊天面板。
- 切換至代理程式模式。
- 輸入提示,例如 將項目升級至 Java 21 和 Spring Boot 3.2。
- 出現提示時,選取 [ 繼續 ] 以產生升級計劃。
檢閱和編輯升級計劃
應用程式現代化 - Java 升級 (預覽版) 會分析目前工作區中的 Java 專案,包括其 JDK、建置工具和相依性。 此工具會產生 plan.md 檔案,其中概述下列計劃性變更:
- 來源和目標 JDK 版本。
- 框架和函式庫升級路徑。
檢視計劃並視需要進行變更,然後選取 [ 繼續] 繼續進行。
小提示
請確定方案符合您所需的升級目標,例如 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 問題。