如何 Amazon Q Developer Agent for code transformation 運作方式 - Amazon Q Developer

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

如何 Amazon Q Developer Agent for code transformation 運作方式

若要轉換程式碼,Amazon Q Developer Agent for code transformation 會產生轉換計劃,用於升級專案的程式碼語言版本。轉換程式碼後,它會提供轉換摘要和檔案差異,供您在接受變更之前檢閱變更。下列各節提供 Amazon Q 如何執行轉換的更多詳細資訊。

建立程式碼並建立轉型計畫

若要開始轉換程式碼,Amazon Q 會在本機建置您的專案,並產生包含原始程式碼、專案相依性和建置日誌的建置成品。

產生建置成品之後,Amazon Q 會在安全的建置環境中建置程式碼,並建立轉型計劃,該轉換計劃會針對您要升級的專案或模組進行自訂。轉換計劃概述 Amazon Q 將嘗試進行的特定變更,包括新的相依性版本、主要程式碼變更,以及已棄用程式碼的建議取代。這些變更是以程式碼的初步建置為基礎,而且可能會在轉換期間變更。

轉換程式碼

若要轉換程式碼,Amazon Q 會根據轉換計劃中提議的變更嘗試升級程式碼。進行變更時,它會重建並執行原始程式碼中的現有單位測試,以反覆修正任何遇到的錯誤。

升級程式碼時,Amazon Q 會嘗試進行下列變更:

  • 根據 Java 17 建議更新已取代的程式碼元件

  • 將常用程式庫和架構升級至與 Java 17 相容的版本。這包括將下列程式庫和架構更新至其最新的可用主要版本:

    • Apache Commons IO

    • Apache HttpClient

    • bc-fips

    • 小黃瓜 -JVM

    • 休眠

    • 彩金註釋

    • JakartaEE

    • Javax

    • javax.servlet

    • jaxb-api

    • jaxb-impl

    • 雅典

    • jcl-over-slf4j

    • json-simple

    • jsr305

    • junit

    • junit-jupiter-api

    • Log4j

    • Micronaut

    • Mockito

    • 模擬核心

    • 俄亥俄

    • PowerMockito

    • Quarkus

    • slf4j

    • slf4j-api

    • 春季開機

    • 春季架構

    • 春季安全

    • Swagger

    • 測試

檢閱轉換摘要並接受變更

轉換完成後,Amazon Q 會提供轉換摘要,其中包含其所做變更的詳細資訊,包括最終建置的狀態,指出您的整個專案是否已升級。您也可以檢視建置日誌摘要,以了解導致 Amazon Q 無法在升級版本中建置程式碼的任何問題。

此外,轉換摘要還包含轉換計劃中提議的變更與 Amazon Q 最終為升級程式碼所做的變更,以及不在原始計劃中的任何其他變更之間的差異。

檢閱轉換摘要後,您可以在檔案差異檢視中檢視 Amazon Q 提出的變更。Amazon Q 建議的任何程式碼變更都不會影響您目前的專案檔案,直到您接受變更為止。轉換後的程式碼可在轉換完成後 24 小時內使用。

完成部分成功的轉換

根據您的程式碼庫的複雜性和細節,可能會有部分成功轉換的執行個體。這表示 Amazon Q 只能轉換專案中的特定檔案或程式碼區域。在此情況下,您必須手動更新專案的剩餘程式碼,才能在更新的語言版本中建置。

若要協助轉換其他程式碼,您可以在 中使用 Amazon Q 聊天IDE。您可以要求 Amazon Q 檢閱部分更新的檔案,並提供新的程式碼來解決問題,例如編譯錯誤。您也可以使用 /dev和 等功能@workspace,將更多專案納入內容,並一次取得多個檔案的建議。