回答 GitHub Copilot 應用程式現代化 - Java 升級的常見問題 (預覽版)。
什麼是 GitHub Copilot 應用程式現代化 - Java 升級 (預覽版)?
GitHub Copilot 應用程式現代化 - Java 的升級 (預覽) 是以 AI 為基礎的代理程式解決方案,其設計目的是協助您升級 Java 應用程式。
GitHub Copilot 應用程式現代化 - Java 升級可以做什麼 (預覽版) ?
目前,GitHub Copilot 應用程式現代化 - Java 升級 (預覽版) 可協助您將專案中的 Java 運行時間、相依性、熱門架構和程式代碼升級至較新版本。 這是 Visual Studio Code 的擴充功能,可執行下列工作:
- 分析專案及其相依性,並提出升級計劃。
- 執行計劃以轉換專案。
- 自動修正進度期間的問題。
- 報告所有詳細數據,包括認可、記錄和輸出。
- 在升級之後,執行常見弱點和暴露程度 (CVE) 安全性弱點和程式代碼不一致檢查。
- 顯示摘要,包括檔案變更、更新的相依性,以及修正的問題。
- 與升級程式分開產生單元測試。
GitHub Copilot 方案適用於 GitHub Copilot 應用程式現代化 - 適用於 Java 的升級 (預覽版)?
此產品目前適用於 GitHub Copilot Business 和 Enterprise 方案。
此工具可協助將程式代碼基底移轉至 Azure 嗎?
有個別的工具可完成這項工作。 如需詳細資訊,請參閱 適用於 Java 的 GitHub Copilot 應用程式現代化 (預覽版) 。
您是否有適用於 .NET 的升級工具?
是的。 如需詳細資訊,請參閱 適用於 .NET 的 GitHub Copilot 應用程式現代化。
GitHub Copilot 應用程式現代化 - Java 升級 (預覽版) 評估了哪種應用程式?
我們已驗證各種開放原始碼存放庫上的工具,以確保升級後建置成功。 我們也在 Technical Preview 階段與客戶廣泛合作。 用戶意見反應在精簡體驗方面扮演了重要角色。 如果您想要參與,請參閱 在 GitHub Copilot 應用程式現代化 - 升級 Java 上提供意見反應。
它是否支援 Spring Boot 和 JUnit 之類的架構和連結庫升級?
是的。 雖然其主要重點是 Java 運行時間升級,但助理包含一個規劃階段,可分析並建議下列工具的更新:
- Spring Boot
- JUnit 和其他測試架構
- 其他第三方相依性
您可以編輯升級計劃,以選取最符合相容性和專案需求的版本。
目前,我們僅支持升級至 Spring Boot 2.7 和 3.2,但很快就會支援更多版本。 如果您在升級期間指定不同的 Spring Boot 版本,我們會選取最接近的支援版本。
支援哪種 Java 版本?
我們目前支援下列 Java 開發工具套件 (JDK) 版本:
- JDK 8
- JDK 11
- JDK 17
- JDK 21
專案所需的最低 JDK 版本是 JDK 8,而且您可以將項目升級為使用任何最高 JDK 21 的版本。
支援哪些類型的 Java 專案?
目前僅支援下列項目類型:
- Maven 專案 (包括 Maven 包裝函式)
- Gradle 專案 (僅限 Gradle 包裝函式,版本 5+)
不支援以 Kotlin DSL 為基礎的 Gradle 專案。
使用此工具的作業需求為何?
若要確保作業成功,需要下列資訊:
- Project 類型。 項目必須是使用 Maven 或 Gradle 建置的 Git 型 Java 專案。
- 目標 Java 版本 - 您要升級至的 JDK 版本 ,例如 Java 21。
- 來源和目標 JDK 路徑 - 目前和目標版本的已安裝 JDK 的路徑。
- Maven/Gradle 設定 - Maven/Gradle 建置工具的路徑。 針對 Gradle,僅支援 Gradle 包裝函式。
此工具的限制為何?
擴充功能目前有下列功能限制:
- 此延伸模組完全支援 Java 升級,且不適用於其他程式設計語言。
- 它只適用於使用 Maven 和 Gradle 建置的 Java 專案。
- 僅支援 Git 存放庫。 其他版本控制系統不相容。
- 延伸模組無法保證其建議的變更是最佳或視為最佳作法。
建議您搭配此工具使用下列最佳做法:
- 只在符合指定特性的項目上執行延伸模組,如先前所述。
- 將延伸模組輸出合併至生產分支之前,請先完成完整的程式代碼檢閱。
- 執行所有測試,並視需要完成與變更管理程式相關聯的一般 QA 檢查。
它會儲存我的程序代碼嗎?
否,此工具會以您用來修改程序代碼的相同方式使用 GitHub Copilot,這不會在即時會話之外保留代碼段。