本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon Q Developer 升級 Java 版本
Amazon Q Developer 可在整合式開發環境 (IDE) 中,將您的 Java 應用程式升級至較新的語言版本。Amazon Q 可進行變更來升級您的程式碼,這些變更包括更新已棄用的程式碼元件和 API,以及升級程式碼中的程式庫、架構和其他相依性。
為了轉換您的程式碼,Amazon Q 會先在來源語言版本中建置您的程式碼,並確認其包含執行轉換所需的資訊。Amazon Q 成功轉換程式碼後,您可以在 IDE 中驗證和接受變更。由於 Amazon Q Developer 會進行必要的最低程度變更,讓升級後的程式碼與目標 JDK 相容,因此需要額外的轉換才能升級專案的程式庫和相依性。如需 Amazon Q 如何轉換程式碼的詳細資訊,請參閱 Amazon Q Developer 如何轉換程式碼以進行 Java 語言升級。
主題
支援的 Java 升級和 IDE
Amazon Q 目前針對轉換支援下列 Java 原始程式碼版本和目標版本。將程式碼轉換為相同 Java 版本的過程包括升級原始程式碼版本中的程式庫和其他相依性。
| 原始程式碼版本 | 支援的目標版本 |
|---|---|
| Java 8 | Java 17 和 Java 21 |
| Java 11 | Java 17 和 Java 21 |
| Java 17 | Java 17 和 Java 21 |
| Java 21 |
Java 21 |
Amazon Q 在下列 IDE 中支援 Java 升級:
-
JetBrains IDE 中的模組
-
Visual Studio Code 中的專案和工作空間
步驟 1:事前準備
繼續進行之前,請確定您已完成在 IDE 中設定 Amazon Q 中的步驟。
在您開始程式碼轉換任務之前,務必確定符合以下先決條件:
-
您的專案是以支援的 Java 版本撰寫,並以 Maven 為基礎建置。
-
您的專案已在您的 IDE 中使用 Maven 成功建置。目前支援 Maven 3.8 或更新版本。
-
您的專案來源 JDK 可在本機使用,且是原始程式碼的版本。例如,若您要轉換 Java 8 程式碼,則本機 JDK 安裝應為 JDK 8。
-
您的專案會在 55 分鐘內建置完成。
-
您的專案已正確設定,並已指定正確的 JDK 版本。如需詳細資訊,請參閱步驟 2:設定您的專案。
-
您的專案不需要存取您私有網路上的資源,包括虛擬私有雲端 (VPC) 或內部部署網路。例如,若您的專案包含會連線至您網路中資料庫的單元測試,則轉換將會失敗。
-
您的專案不會在 Java 專案中使用封裝 Java 以外語言的外掛程式。例如,如果您的專案除了 Java 原始程式碼之外,還使用 frontend-maven-plugin
執行前端 JavaScript 程式碼,則轉換將會失敗。 -
您的本機網路允許上傳至 Amazon Q 用來轉換程式碼的 Amazon S3 儲存貯體。如需詳細資訊,請參閱允許存取資料周界中的 Amazon S3 儲存貯體。
-
您的應用程式僅使用 UTF-8 字元。如果您的應用程式使用非 UTF-8 字元,Amazon Q 仍會嘗試轉換您的程式碼。
步驟 2:設定您的專案
若要設定專案,請針對您要使用的 IDE 使用下列資訊。
在 JetBrains 中設定專案
若要在 JetBrains 中設定專案,您可能需要指定下列專案和模組設定。
如果您的模組與專案使用相同的 JDK 和語言層級,則不需要更新模組設定。
-
專案 SDK - 用來編譯專案的 JDK。
-
專案語言層級 - 專案中使用的 Java 版本。
-
模組 SDK - 用來編譯模組的 JDK。
-
模組語言層級 - 模組中使用的 Java 版本。
-
Maven Runner JRE - 您用來建置模組的 JDK。
更新專案和模組設定
若要更新專案或模組的 SDK 和語言層級設定,請完成下列步驟:
-
從您的 JetBrains IDE 中選擇檔案,然後選擇專案結構。
-
「專案結構」視窗隨即開啟。在專案設定下,選擇專案。
-
若要更新您的專案 JDK,請從 SDK 旁的下拉式清單中選擇。
-
若要更新您的專案語言,請從語言層級旁的下拉式清單中選擇。
-
-
請在 Project Settings (專案詳細資訊) 下選擇 Modules (模組)。
-
若要更新您的模組 JDK,請從 SDK 旁的下拉式清單中選擇。
-
若要更新您的模組語言,請從語言層級旁的下拉式清單中選擇。
-
如需詳細資訊,請參閱 JetBrains 文件中的專案結構設定
更新 Maven 設定
若要更新 Maven Runner JRE,請完成下列步驟:
-
從您的 JetBrains IDE 中選擇齒輪圖示,然後在出現的功能表中選擇設定。
-
在設定視窗中選擇建置、執行、部署,然後依序選擇建置工具、Maven、執行器。
-
在 JRE 欄位中,選擇用來建置您要轉換之模組的 JDK。
在 VS Code 中設定專案
若要在 VS Code 中設定專案,您的專案必須包含下列項目:
-
專案根資料夾中的
pom.xml檔案 -
專案目錄中的
.java檔案
如果您的專案包含 Maven 包裝函式可執行檔 (mvnw 適用於 macOS,或 mvnw.cmd 適用於 Windows),請確定其位於專案的根目錄。Amazon Q 將使用包裝函式,而且不需要其他 Maven 組態。
如果您不使用 Maven 包裝函式,請安裝 Maven。如需詳細資訊,請參閱 Apache Maven 文件中的安裝 Apache
Maven
安裝 Maven 之後,將其新增至您的 PATH 變數。如需詳細資訊,請參閱 如何將 Maven 新增至我的 PATH?。您的 Java runtime 變數也應指向 JDK,而非 JRE。若要確認您的組態正確,請執行 mvn -v。輸出應該會顯示您的 Maven 版本和指向 JDK 路徑的 runtime 變數。
步驟 3:建立相依性升級檔案 (選用)
您可以將相依性升級檔案提供給 Amazon Q,此 YAML 檔案中會列出專案相依性,以及轉換過程中要升級哪些版本。藉由提供相依性升級檔案,您就可以指定 Amazon Q 可能不知道要進行升級的第三方和第一方相依性。
第一方相依性是指您的組織維護的程式庫、外掛程式和架構,而且這些只能在本機或組織的私有網路上使用。Amazon Q 在您的本機環境中執行建置時,可以存取您的第一方相依性。如需詳細資訊,請參閱在本機環境中建置程式碼。第三方相依性是公開提供或開放原始碼的相依性,這些並非您組織獨有。
您可以在 YAML 檔案中指定要升級的第一方相依性,Amazon Q 會在 JDK 升級期間 (例如 Java 8 升級到 17) 將這些相依性升級。您可以在初始 JDK 升級之後,初始化另一次轉換 (17 到 17 或 21 到 21) 以升級第三方相依性。
一旦 Amazon Q 執行最低 JDK 升級,您就可以初始化另一次轉換來升級所有第三方相依性。或者,您可以在 YAML 檔案中指定第三方相依性及其版本,以在程式庫升級轉換期間僅升級這些相依性。
Amazon Q 會在轉換期間提示您提供相依性升級檔案。如果您想要提供檔案,請先確定您已正確設定檔案。以下是 YAML 檔案中的必要欄位:
-
name - 相依性升級檔案的名稱。
-
description (選用) - 相依性升級檔案的描述,以及用於哪一個轉換。
-
dependencyManagement - 包含要升級的相依性和外掛程式清單。
-
dependencies - 包含要升級的程式庫名稱和版本。
-
plugins - 包含要升級的外掛程式名稱和版本。
-
identifier - 程式庫、外掛程式或其他相依性的名稱。
-
targetVersion - 升級後的相依性版本。
-
versionProperty (選用) - 您定義的相依性版本,如您應用程式的
pom.xml檔案中的properties標籤所設定。 -
originType - 相依性為第一方或第三方,以 FIRST_PARTY 或 THIRD_PARTY 指定。
以下是相依性升級 YAML 檔案的範例,以及供 Amazon Q 剖析的必要組態:
name: dependency-upgrade description: "Custom dependency version management for Java migration from JDK 8/11/17 to JDK 17/21" dependencyManagement: dependencies: - identifier: "com.example:library1" targetVersion: "2.1.0" versionProperty: "library1.version" # Optional originType: "FIRST_PARTY" - identifier: "com.example:library2" targetVersion: "3.0.0" originType: "THIRD_PARTY" plugins: - identifier: "com.example.plugin" targetVersion: "1.2.0" versionProperty: "plugin.version" # Optional originType: "THIRD_PARTY"
步驟 4:轉換您的程式碼
若要測試 IDE 設定,請下載並解壓縮範例專案,然後針對您的 IDE 完成下列步驟。如果您能夠檢視提議的變更和轉換摘要,表示您可以轉換自己的程式碼專案。如果轉換失敗,表示您的 IDE 未正確設定。若要解決組態問題,請檢閱 步驟 2:設定您的專案 和 疑難排解。
注意
在程式碼轉換期間,請勿關閉、關上或讓本機電腦進入睡眠狀態。初始和驗證組建會使用用戶端環境,因此需要穩定的網路連線。
若要升級程式碼專案或模組的程式碼語言版本,請針對您的 IDE 完成下列步驟。