本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon Q Developer 升級 Java 版本
Amazon Q Developer 可以在整合開發環境 (IDE) 中將您的 Java 應用程式升級至較新的語言版本。Amazon Q 可以進行的變更來升級程式碼,包括更新取代的程式碼元件和 APIs,以及升級程式碼中的程式庫、架構和其他相依性。
若要轉換您的程式碼,Amazon Q 會先在來源語言版本中建置您的程式碼,並驗證其具有執行轉換所需的資訊。Amazon Q 成功轉換程式碼後,您會驗證並接受 IDE 中的變更。由於 Amazon Q Developer 會進行必要的最低變更,讓您的升級程式碼與目標 JDK 相容,因此需要額外的轉換才能升級專案的程式庫和相依性。如需 Amazon Q 如何轉換程式碼的詳細資訊,請參閱 Amazon Q Developer 如何轉換 Java 語言升級的程式碼。
主題
支援的 Java 升級和 IDEs
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 在下列 IDEs 中支援 Java 升級:
-
IDEs JetBrains 中的模組
-
中的專案和工作區 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 儲存貯體。
步驟 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,然後選擇 Runner。
-
在 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 檔案中指定要升級的第一方相依性,並在 JDK 升級期間 (例如 Java 8 到 17) Amazon Q 升級它們。您可以在初始 JDK 升級之後啟動單獨的轉換 (17 到 17 或 21 到 21),以升級第三方相依性。
一旦 Amazon Q 執行最低 JDK 升級,您就可以啟動個別轉換來升級所有第三方相依性。或者,您可以在 YAML 檔案中指定第三方相依性及其版本,只在程式庫升級轉換期間升級這些相依性。
Amazon Q 會在轉換期間提示您提供相依性升級檔案。如果您想要提供檔案,請先確定您已正確設定檔案。YAML 檔案中需要下列欄位:
-
name - 相依性升級檔案的名稱。
-
description (選用) - 相依性升級檔案的描述,以及轉換的描述。
-
dependencyManagement - 包含要升級的相依性和外掛程式清單。
-
相依性 - 包含要升級之程式庫的名稱和版本。
-
外掛程式 - 包含要升級的外掛程式名稱和版本。
-
identifier - 程式庫、外掛程式或其他相依性的名稱。
-
targetVersion - 要升級的相依性版本。
-
versionProperty (選用) - 您正在定義的相依性版本,如您應用程式
pom.xml
檔案中的properties
標籤所設定。 -
originType - 相依性是第一個還是第三方,由 FIRST_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 是否正確設定。以下是符合程式碼轉換資格的範例 GitHub 專案:https://https://github.com/aws-samples/aws-appconfig-java-sample
若要測試 IDE 設定,請下載並解壓縮範例專案,並完成 IDE 的下列步驟。如果您能夠檢視提議的變更和轉換摘要,您就可以轉換自己的程式碼專案。如果轉換失敗,表示您的 IDE 未正確設定。若要解決組態問題,請檢閱 步驟 2:設定您的專案和 故障診斷。
注意
請勿在程式碼轉換期間關閉或關閉本機機器,因為用戶端建置需要穩定的網路連線。
若要升級程式碼專案或模組的語言版本,請完成 IDE 的下列步驟。