Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Aktualisieren von Java-Versionen mit Amazon Q Developer
Amazon Q Developer kann Ihre Java-Anwendungen in der integrierten Entwicklungsumgebung (IDE) auf neuere Sprachversionen aktualisieren. Zu den Änderungen, die Amazon Q zur Aktualisierung Ihres Codes vornehmen kann, gehören die Aktualisierung veralteter Codekomponenten APIs sowie die Aktualisierung von Bibliotheken, Frameworks und anderen Abhängigkeiten in Ihrem Code.
Zum Transformieren Ihres Codes erstellt Amazon Q Ihren Code zunächst in der Version der Ausgangssprache und überprüft, ob er über die für die Transformation erforderlichen Informationen verfügt. Nachdem Amazon Q Ihren Code erfolgreich transformiert hat, überprüfen und akzeptieren Sie die Änderungen in der Änderungsansicht Ihrer IDE. Da Amazon Q Developer die minimalen Änderungen vornimmt, die erforderlich sind, um Ihren aktualisierten Code mit dem Ziel-JDK kompatibel zu machen, ist eine zusätzliche Transformation erforderlich, um die Bibliotheken und Abhängigkeiten Ihres Projekts zu aktualisieren. Weitere Informationen dazu, wie Amazon Q Ihren Code transformiert, finden Sie unter So transformiert Amazon Q Developer Code für Upgrades von Java-Sprachen.
Topics
Unterstützte Java-Upgrades und IDEs
Amazon Q unterstützt derzeit die folgenden Java-Quellcode- und Zielversionen für Transformationen. Die Transformation von Code in dieselbe Java-Version beinhaltet das Aktualisieren von Bibliotheken und anderen Abhängigkeiten in der Quellcodeversion.
| Quellcodeversion | Unterstützte Zielversionen |
|---|---|
| Java 8 | Java 17 und Java 21 |
| Java 11 | Java 17 und Java 21 |
| Java 17 | Java 17 und Java 21 |
| Java 21 |
Java21 |
Amazon Q unterstützt Java-Upgrades in den folgenden Bereichen IDEs:
-
Module in JetBrains IDEs
-
Projekte und Workspaces in Visual Studio Code
Schritt 1: Voraussetzungen
Bevor Sie fortfahren, sollten Sie sicherstellen, dass Sie die in Einrichten von Amazon Q in Ihrer IDE beschriebenen Schritte ausgeführt habe.
Überprüfen Sie vor Beginn eines Codetransformationsauftrags, ob die folgenden Voraussetzungen erfüllt sind:
-
Ihr Projekt ist in einer unterstützten Java-Version geschrieben und baut auf Maven auf.
-
Ihr Projekt wird mit Maven erfolgreich in Ihrer IDE erstellt. Maven 3.8 oder höher wird derzeit unterstützt.
-
Ihr Projekt-Quell-JDK ist lokal verfügbar und entspricht der Version Ihres Quellcodes. Wenn Sie beispielsweise Java-8-Code transformieren, sollte Ihre lokale JDK-Installation JDK 8 sein.
-
Ihr Projekt wird in 55 Minuten oder weniger erstellt.
-
Ihr Projekt ist korrekt konfiguriert und die richtige JDK-Version ist angegeben. Weitere Informationen finden Sie unter Schritt 2: Konfigurieren Ihres Projekts.
-
Ihr Projekt benötigt keinen Zugriff auf Ressourcen in Ihrem privaten Netzwerk, einschließlich einer Virtual Private Cloud (VPC) oder eines lokalen Netzwerks. Wenn Ihr Projekt beispielsweise Modultests enthält, die eine Verbindung mit einer Datenbank in Ihrem Netzwerk herstellen, schlägt die Transformation fehl.
-
Ihr Projekt verwendet keine Plugins, die andere Sprachen als Java in Ihr Java-Projekt packen. Wenn Ihr Projekt beispielsweise zusätzlich zu Ihrem Java-Quellcode den frontend-maven-plugin
für die Ausführung von JavaScript Frontend-Code verwendet, schlägt die Transformation fehl. -
Ihr lokales Netzwerk ermöglicht Uploads in Amazon-S3-Buckets, die Amazon Q zur Transformation Ihres Codes verwendet. Weitere Informationen erhalten Sie unter Zulassen des Zugriffs auf Amazon-S3-Buckets in Datenperimetern.
-
Ihre Anwendung verwendet nur UTF-8-Zeichen. Wenn Ihre Anwendung keine UTF-8-Zeichen verwendet, versucht Amazon Q trotzdem, Ihren Code zu transformieren.
Schritt 2: Konfigurieren Ihres Projekts
Verwenden Sie zur Konfiguration Ihres Projekts die folgenden Informationen für die von Ihnen verwendete IDE.
Konfigurieren eines Projekts in JetBrains
Wenn Sie Ihr Projekt in JetBrains konfigurieren möchten, müssen Sie gegebenenfalls die folgenden Projekt- und Moduleinstellungen angeben.
Wenn Ihre Module dasselbe JDK und dieselbe Sprachebene wie Ihr Projekt verwenden, müssen Sie die Moduleinstellungen nicht aktualisieren.
-
Projekt-SDK – das JDK, das zum Kompilieren Ihres Projekts verwendet wurde
-
Sprachebene des Projekts – die in Ihrem Projekt verwendete Java-Version
-
Modul-SDK – das JDK, das zum Kompilieren Ihres Moduls verwendet wurde
-
Sprachebene des Moduls – die Java-Version, die in Ihrem Modul verwendet wird
-
Maven Runner JRE – das JDK, mit dem Sie Ihr Modul erstellen
Aktualisieren der Projekt- und Moduleinstellungen
Gehen Sie wie folgt vor, um Ihr SDK und die Einstellungen für die Sprachebene für Ihr Projekt oder Modul zu aktualisieren:
-
Wählen Sie in Ihrer JetBrains-IDE File und dann Project Structure aus.
-
Das Fenster „Project Structure“ wird geöffnet. Wählen Sie unter Project Settings die Option Project aus.
-
Wenn Sie Ihr Projekt-JDK aktualisieren möchten, wählen Sie eine Option aus der Dropdown-Liste neben SDK aus.
-
Wenn Sie Ihre Projektsprache aktualisieren möchten, wählen Sie eine Option aus der Dropdown-Liste neben Language Level aus.
-
-
Wählen Sie unter Project Settings die Option Modules aus.
-
Wenn Sie Ihr Modul-JDK aktualisieren möchten, wählen Sie eine Option aus der Dropdown-Liste neben SDK aus.
-
Wenn Sie Ihre Modulsprache aktualisieren möchten, wählen Sie eine Option aus der Dropdown-Liste neben Language Level aus.
-
Weitere Informationen erhalten Sie unter Project structure settings
Aktualisieren von Maven-Einstellungen
Gehen Sie wie folgt vor, um Ihre Maven Runner JRE zu aktualisieren:
-
Wählen Sie in Ihrer JetBrains-IDE das Zahnradsymbol und dann im angezeigten Menü die Option Settings aus.
-
Wählen Sie im Fenster Settings die Optionen Build, Execution, Deployment, dann Build Tools, Maven und schließlich Runner aus.
-
Wählen Sie im Feld „JRE“ das JDK aus, das zum Erstellen des Moduls verwendet wurde, das Sie transformieren.
Konfigurieren eines Projekts in VS Code
Damit Sie Ihr Projekt in VS Code konfigurieren können, muss es Folgendes enthalten:
-
Eine Datei
pom.xmlim Projektstammordner -
Eine Datei
.javaim Projektverzeichnis
Wenn Ihr Projekt eine ausführbare Maven-Wrapper-Datei (mvnw für macOS oder mvnw.cmd für Windows) enthält, stellen Sie sicher, dass sie sich im Stammverzeichnis des Projekts befindet. Amazon Q verwendet den Wrapper, sodass keine weitere Maven-Konfiguration erforderlich ist.
Wenn Sie keinen Maven Wrapper verwenden, installieren Sie Maven. Weitere Informationen erhalten Sie unter Installing Apache
Maven
Fügen Sie Maven nach der Installation Ihrer PATH-Variablen hinzu. Weitere Informationen erhalten Sie unter Wie füge ich Maven meinem PATH hinzu?. Ihre Java-runtime-Variable sollte auch auf ein JDK und nicht auf eine JRE verweisen. Führen Sie mvn -v aus, um zu überprüfen, ob Ihre Konfiguration korrekt ist. Die Ausgabe sollte Ihre Maven-Version und die runtime-Variable zeigen, die auf den Pfad zu Ihrem JDK verweist.
Schritt 3: Erstellen einer Upgrade-Datei für Abhängigkeiten (optional)
Sie können Amazon Q eine Upgrade-Datei für Abhängigkeiten zur Verfügung stellen. Hierbei handelt es sich um eine YAML-Datei, in der die Abhängigkeiten Ihres Projekts und die Versionen aufgeführt sind, auf die während einer Transformation aktualisiert werden soll. Durch die Bereitstellung einer Upgrade-Datei für Abhängigkeiten können Sie Abhängigkeiten von Drittanbietern und Erstanbietern angeben, von denen Amazon Q sonst möglicherweise nicht weiß, dass sie aktualisiert werden sollen.
Abhängigkeiten von Erstanbietern beziehen sich auf die Bibliotheken, Plugins und Frameworks, die Ihre Organisation verwaltet und die nur lokal oder im privaten Netzwerk Ihrer Organisation verfügbar sind. Amazon Q kann auf Ihre Abhängigkeiten von Erstanbietern zugreifen, wenn es Builds in Ihrer lokalen Umgebung ausführt. Weitere Informationen finden Sie unter Entwickeln von Code in Ihrer lokalen Umgebung. Bei Abhängigkeiten von Drittanbietern handelt es sich um öffentlich verfügbare oder Open-Source-Abhängigkeiten, die nicht nur für Ihr Unternehmen gelten.
Sie können Abhängigkeiten von Erstanbietern, die Sie aktualisieren möchten, in einer YAML-Datei angeben. Amazon Q aktualisiert sie dann während des JDK-Upgrades (z. B. Java 8 auf 17). Sie können nach dem ersten JDK-Upgrade eine separate Transformation (17 auf 17 oder 21 auf 21) initiieren, um Abhängigkeiten von Drittanbietern zu aktualisieren.
Sobald Amazon Q mindestens ein JDK-Upgrade durchgeführt hat, können Sie eine separate Transformation einleiten, um alle Abhängigkeiten von Drittanbietern zu aktualisieren. Alternativ können Sie Abhängigkeiten von Drittanbietern und deren Versionen in einer YAML-Datei angeben, um nur diese Abhängigkeiten während der Upgrade-Transformation der Bibliothek zu aktualisieren.
Amazon Q fordert Sie während der Transformation auf, eine Upgrade-Datei für Abhängigkeiten bereitzustellen. Wenn Sie eine Datei bereitstellen möchten, stellen Sie zunächst sicher, dass Sie sie richtig konfiguriert haben. Die folgenden Felder sind in der YAML-Datei erforderlich:
-
name – der Name der Upgrade-Datei für Abhängigkeiten
-
description (optional) – eine Beschreibung der Upgrade-Datei für Abhängigkeiten und die Angabe, für welche Transformation sie verwendet werden soll
-
dependencyManagement – enthält die Liste der Abhängigkeiten und Plugins, die aktualisiert werden sollen
-
dependencies – enthält den Namen und die Version der zu aktualisierenden Bibliotheken
-
plugins – enthält die Namen und Versionen der zu aktualisierenden Plugins
-
identifier – der Name der Bibliothek, des Plugins oder einer anderen Abhängigkeit
-
targetVersion – die Version der Abhängigkeit, auf die ein Upgrade durchgeführt werden soll
-
versionProperty (optional) – die Version der Abhängigkeit, die Sie definieren, wie sie mit dem Tag
propertiesin der Dateipom.xmlIhrer Anwendung festgelegt ist -
originType – gibt an, ob es sich bei der Abhängigkeit um eine Abhängigkeit von Erst- oder Drittanbietern handelt, angegeben durch FIRST_PARTY oder THIRD_PARTY.
Im Folgenden finden Sie ein Beispiel für eine YAML-Upgrade-Datei für Abhängigkeiten und die erforderliche Konfiguration, die Amazon Q analysieren muss:
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"
Schritt 4: Transformieren Ihres Codes
Zum Testen Ihrer IDE-Einrichtung laden Sie das Beispielprojekt herunter, entpacken es und führen die folgenden Schritte für Ihre IDE aus. Wenn Sie die vorgeschlagenen Änderungen und die Zusammenfassung der Transformation einsehen können, sind Sie bereit, Ihr eigenes Codeprojekt zu transformieren. Wenn die Transformation fehlschlägt, ist Ihre IDE nicht richtig konfiguriert. Zum Beheben von Konfigurationsproblemen lesen Sie Schritt 2: Konfigurieren Ihres Projekts und Fehlerbehebung.
Anmerkung
Schalten Sie Ihren lokalen Computer während der Codetransformation nicht aus, schließen Sie ihn nicht und versetzen Sie ihn auch nicht in den Standbymodus. Die Initial- und Validierungs-Builds verwenden die clientseitige Umgebung, für die eine stabile Netzwerkverbindung erforderlich ist.
Gehen Sie für Ihre IDE wie folgt vor, um die Sprachenversion Ihres Codeprojekts oder -moduls zu aktualisieren.