

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.

# Transformieren von Java-Anwendungen mit Amazon Q Developer
<a name="transform-java"></a>

**Anmerkung**  
AWS Transform Custom ist jetzt für Java-Upgrades verfügbar. Agentic AI, die Versions-Upgrades, SDK-Migrationen und mehr abwickelt und sich mit jeder Ausführung verbessert. [Erste Schritte](https://docs.aws.amazon.com/transform/latest/userguide/custom-get-started.html)

Amazon Q unterstützt die folgenden Arten von Transformationen für Java-Anwendungen: 
+ Upgrades der Java-Sprach- und Abhängigkeitsversionen
+ Eingebettete SQL-Konvertierung für die Datenbankmigration von Oracle zu PostgreSQL

Sehen Sie sich zuerst das Thema für die Art der Transformation an, die Sie durchführen möchten. 

**Topics**
+ [

## Kontingente
](#quotas-java-transformation-ide)
+ [

# Aktualisieren von Java-Versionen mit Amazon Q Developer
](code-transformation.md)
+ [

# Konvertieren von Embedded SQL in Java-Anwendungen mit Amazon Q Developer
](transform-sql.md)
+ [

# Transformieren von Code in der Befehlszeile mit Amazon Q Developer
](transform-CLI.md)
+ [

# Anzeigen des Verlaufs der Transformationsaufträge
](transformation-job-history.md)
+ [

# Behebung von Problemen bei Java-Transformationen
](troubleshooting-code-transformation.md)

## Kontingente
<a name="quotas-java-transformation-ide"></a>

Für Java-Anwendungstransformationen mit Amazon Q in der IDE und in der Befehlszeile gelten die folgenden Kontingente: 
+ **Codezeilen pro Auftrag** – die maximale Anzahl von Codezeilen, die Amazon Q in einem bestimmten Transformationsauftrag transformieren kann 
+ **Codezeilen pro Monat** – die maximale Anzahl von Codezeilen, die Amazon Q in einem Monat transformieren kann 
+ **Gleichzeitige Aufträge** – die maximale Anzahl von Transformationsaufträgen, die Sie gleichzeitig ausführen können. Dieses Kontingent gilt für alle Transformationen in der IDE, einschließlich [.NET-Transformationen in Visual Studio](transform-dotnet-IDE.md).
+ **Aufträge pro Monat** – die maximale Anzahl von Transformationsaufträgen, die Sie in einem Monat ausführen können 


| Ressource | Kontingente | 
| --- | --- | 
| Codezeilen pro Auftrag | Kostenloses Kontingent: 1 000 Codezeilen | 
| Codezeilen pro Monat | Kostenloses Kontingent: 2 000 Codezeilen | 
| Gleichzeitige Aufträge |  1 Auftrag pro Benutzer 25 Jobs pro Konto AWS   | 
| Aufträge pro Monat |  Stufe Pro: 1 000 Aufträge Kostenloses Kontingent: 100 Aufträge  | 

# Aktualisieren von Java-Versionen mit Amazon Q Developer
<a name="code-transformation"></a>

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](how-CT-works.md).

**Topics**
+ [

## Unterstützte Java-Upgrades und IDEs
](#supported-languages-IDEs)
+ [

## Schritt 1: Voraussetzungen
](#java-upgrade-prerequisites)
+ [

## Schritt 2: Konfigurieren Ihres Projekts
](#configure-project)
+ [

## Schritt 3: Erstellen einer Upgrade-Datei für Abhängigkeiten (optional)
](#create-dependency-upgrade-file)
+ [

## Schritt 4: Transformieren Ihres Codes
](#transform-code-java)
+ [

# So transformiert Amazon Q Developer Code für Upgrades von Java-Sprachen
](how-CT-works.md)

## Unterstützte Java-Upgrades und IDEs
<a name="supported-languages-IDEs"></a>

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.


**Unterstützte Java-Upgrades**  

| 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
<a name="java-upgrade-prerequisites"></a>

Bevor Sie fortfahren, sollten Sie sicherstellen, dass Sie die in [Einrichten von Amazon Q in Ihrer IDE](q-in-IDE-setup.md) 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](#supported-languages-IDEs) 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](#configure-project).
+ 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](https://github.com/eirslett/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](firewall.md#data-perimeters).
+ 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
<a name="configure-project"></a>

Verwenden Sie zur Konfiguration Ihres Projekts die folgenden Informationen für die von Ihnen verwendete IDE.

### Konfigurieren eines Projekts in JetBrains
<a name="configure-jetbrains"></a>

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:

1. Wählen Sie in Ihrer JetBrains-IDE **File** und dann **Project Structure** aus. 

1. Das Fenster „Project Structure“ wird geöffnet. Wählen Sie unter **Project Settings** die Option **Project** aus. 

   1. Wenn Sie Ihr Projekt-JDK aktualisieren möchten, wählen Sie eine Option aus der Dropdown-Liste neben **SDK** aus. 

   1. Wenn Sie Ihre Projektsprache aktualisieren möchten, wählen Sie eine Option aus der Dropdown-Liste neben **Language Level** aus. 

1. Wählen Sie unter **Project Settings** die Option **Modules** aus. 

   1. Wenn Sie Ihr Modul-JDK aktualisieren möchten, wählen Sie eine Option aus der Dropdown-Liste neben **SDK** aus. 

   1. 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](https://www.jetbrains.com/help/idea/project-settings-and-structure.html) und [Module structure settings](https://www.jetbrains.com/help/idea/configure-modules.html) in der JetBrains-Dokumentation.

**Aktualisieren von Maven-Einstellungen**

Gehen Sie wie folgt vor, um Ihre Maven Runner JRE zu aktualisieren:

1. Wählen Sie in Ihrer JetBrains-IDE das Zahnradsymbol und dann im angezeigten Menü die Option **Settings** aus. 

1. Wählen Sie im Fenster **Settings** die Optionen **Build, Execution, Deployment**, dann **Build Tools**, **Maven** und schließlich **Runner** aus.

1. 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
<a name="configure-vsc"></a>

Damit Sie Ihr Projekt in VS Code konfigurieren können, muss es Folgendes enthalten: 
+ Eine Datei `pom.xml` im Projektstammordner
+ Eine Datei `.java` im 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](https://maven.apache.org/install.html) in der Dokumentation für 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?](troubleshooting-code-transformation.md#add-maven-to-path). 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)
<a name="create-dependency-upgrade-file"></a>

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](how-CT-works.md#java-local-builds). 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 `properties` in der Datei `pom.xml` Ihrer 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\$1PARTY oder THIRD\$1PARTY.

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
<a name="transform-code-java"></a>

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](#configure-project) und [Fehlerbehebung](troubleshooting-code-transformation.md).

**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.

------
#### [ JetBrains ]

1. Öffnen Sie das Modul, für das Sie in JetBrains ein Upgrade durchführen möchten. Stellen Sie sicher, dass Sie Ihr Projekt erfolgreich in der IDE erstellt haben. 

1. Wählen Sie das Amazon Q-Logo und bitten Sie Amazon Q, Ihre Anwendung im sich öffnenden Chat-Panel zu transformieren.

1. Ein Popup-Fenster **Transform your application** wird angezeigt. Wählen Sie in der Dropdown-Liste das Projekt aus, das Sie aktualisieren möchten, und wählen Sie dann **Transform** aus. 

1. Amazon Q fordert Sie auf, eine Upgrade-Datei für Abhängigkeiten bereitzustellen. Wenn Sie ein YAML mit den Abhängigkeiten und der Version konfiguriert haben, auf die Sie aktualisieren möchten, fügen Sie Ihre Datei hinzu. Amazon Q validiert die Datei, um sicherzustellen, dass sie korrekt konfiguriert ist. Wenn Sie eine Fehlermeldung erhalten, überprüfen Sie das Format und die erforderlichen Felder, die unter [Schritt 3: Erstellen einer Upgrade-Datei für Abhängigkeiten (optional)](#create-dependency-upgrade-file) beschrieben sind.

1. Amazon Q beginnt mit der Transformation. Sie können den Fortschritt auf der Registerkarte **Transformation details** einsehen. 

1. Nach Abschluss der Transformation können Sie den aktualisierten Code überprüfen, bevor Sie Ihr Projekt aktualisieren. Wenn Sie den neuen Code anzeigen möchten, gehen Sie zur Registerkarte **Transformation details** und wählen Sie dann **View diff** aus. Wählen Sie im daraufhin angezeigten Fenster **Apply patch** eine Datei aus, um eine Vergleichsansicht mit Ihrem Quellcode und dem aktualisierten Code zu öffnen. 

1. Wenn Sie die von Amazon Q vorgenommenen Änderungen akzeptieren möchten, wählen Sie **View diff** aus, um das Fenster **Apply patch** zu öffnen. Wählen Sie alle aktualisierten Dateien aus und klicken Sie auf **OK**, um Ihr Projekt an Ort und Stelle zu aktualisieren. 

1. Wenn Sie Einzelheiten darüber, wie Ihr Code aktualisiert wurde, und Vorschläge für die nächsten Schritte erhalten möchten, wählen Sie auf der Registerkarte **Transformation details** die Option **View transformation summary** aus. 

------
#### [ Visual-Studio-Code ]

1. Öffnen Sie das Projekt oder den Workspace, das bzw. den Sie in VS Code aktualisieren möchten. Stellen Sie sicher, dass Sie Ihr Projekt erfolgreich in der IDE erstellt haben. 

1. Wählen Sie das Amazon Q-Logo und bitten Sie Amazon Q, Ihre Anwendung im sich öffnenden Chat-Panel zu transformieren.

1. Wählen Sie das Projekt, das Sie aktualisieren möchten, in der Suchleiste oben in der IDE aus. 

1. Wenn Amazon Q die Version Ihres Quellcodes nicht finden kann, werden Sie aufgefordert, Ihre Codeversion auszuwählen. Wählen Sie die Version aus, in der Ihr Quellcode geschrieben ist, und klicken Sie dann im Popup-Fenster auf die Option **Transform**, um fortzufahren. 

1. Geben Sie den `JAVA_HOME`-Pfad zu Ihrem JDK ein, wenn Sie dazu aufgefordert werden. Weitere Informationen erhalten Sie unter [Konfigurieren Ihres VS Code-Projekts](#configure-vsc). 

1. Amazon Q fordert Sie auf, eine Upgrade-Datei für Abhängigkeiten bereitzustellen. Wenn Sie ein YAML mit den Abhängigkeiten und der Version konfiguriert haben, auf die Sie aktualisieren möchten, fügen Sie Ihre Datei hinzu. Amazon Q validiert die Datei, um sicherzustellen, dass sie korrekt konfiguriert ist. Wenn Sie eine Fehlermeldung erhalten, überprüfen Sie das Format und die erforderlichen Felder, die unter [Schritt 3: Erstellen einer Upgrade-Datei für Abhängigkeiten (optional)](#create-dependency-upgrade-file) beschrieben sind.

1. Amazon Q beginnt mit der Transformation. Sie können den Fortschritt auf der Registerkarte **Transformation Hub** einsehen. 

1. Nach Abschluss der Transformation wird die Registerkarte **Proposed Changes** geöffnet. Wenn Sie den aktualisierten Code überprüfen möchten, bevor Sie ein Upgrade für Ihr Projekt durchführen, wählen Sie **Download proposed changes** aus. Wählen Sie eine Datei aus, um eine Vergleichsansicht mit Ihrem Quellcode und dem aktualisierten Code zu öffnen. 

1. Wenn Sie die von Amazon Q vorgenommenen Änderungen akzeptieren möchten, wechseln Sie zur Registerkarte **Proposed Changes** und wählen Sie **Accept** aus. 

1. Wenn Sie Einzelheiten darüber, wie Ihr Code aktualisiert wurde, und Vorschläge für die nächsten Schritte erhalten möchten, klicken Sie im **Transformation Hub** auf die Ellipsenschaltfläche **Views and More Actions** und dann auf **Show Transformation Summary**.

------

# So transformiert Amazon Q Developer Code für Upgrades von Java-Sprachen
<a name="how-CT-works"></a>

Zum Transformieren Ihres Codes generiert Amazon Q Developer einen Transformationsplan, anhand dessen die Codesprachenversion Ihres Projekts aktualisiert wird. Nach der Transformation Ihres Codes erhalten Sie eine Zusammenfassung der Transformation und einen Dateivergleich, mit dem Sie die Änderungen überprüfen können, bevor Sie sie akzeptieren. 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. In den folgenden Abschnitten erhalten Sie weitere Informationen dazu, wie Amazon Q die Transformation durchführt.

## Erstellen Ihres Codes und Aufstellen eines Transformationsplans
<a name="build-code-create-plan"></a>

Zur Transformation Ihres Codes erstellt Amazon Q Ihr Projekt lokal und generiert ein Build-Artefakt, das Ihren Quellcode, Ihre Projektabhängigkeiten und Build-Protokolle enthält. 

Nach der Generierung des Build-Artefakts erstellt Amazon Q Ihren Code in einer sicheren Build-Umgebung und stellt einen Transformationsplan auf, der auf das Projekt oder Modul zugeschnitten ist, das Sie aktualisieren. Der Transformationsplan beschreibt die spezifischen Änderungen, die Amazon Q vornehmen wird, einschließlich neuer Abhängigkeitsversionen, wichtiger Codeänderungen und Vorschlägen zum Ersetzen von veraltetem Code. Diese Änderungen basieren auf der vorläufigen Version Ihres Codes und können sich während der Transformation ändern.

## Transformieren Ihres Codes
<a name="transform-code"></a>

Zum Transformieren Ihres Codes versucht Amazon Q, den Code auf der Grundlage der vorgeschlagenen Änderungen im Transformationsplan auf die Ziel-Java-Version zu aktualisieren. Während der Vornahme der Änderungen werden bestehende Modultests in Ihrem Quellcode neu erstellt und ausgeführt, um alle aufgetretenen Fehler iterativ zu beheben. Das JDK-Upgrade kann von der folgenden Quellcodeversion auf die Zielversion durchgeführt werden:
+ Java 8 auf 17
+ Java 8 auf 21
+ Java 11 auf 17
+ Java 11 auf 21
+ Java 17 auf 21

Amazon Q nimmt die mindestens erforderlichen Änderungen vor, um Ihren Code mit der Java-Zielversion kompatibel zu machen. 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 versucht, beim Upgrade Ihres Codes die folgenden Änderungen vorzunehmen:
+ Aktualisieren veralteter Codekomponenten gemäß den Empfehlungen für die Java-Zielversion
+ Aktualisieren gängiger Bibliotheken und Frameworks auf eine Version, die mit der Java-Zielversion kompatibel ist. Dies umfasst die Aktualisierung der folgenden Bibliotheken und Frameworks auf ihre neuesten verfügbaren Hauptversionen: 
  + Apache Commons IO 
  + Apache HttpClient 
  + bc-fips 
  + Cucumber-JVM 
  + Hibernate 
  + jackson-annotations 
  + JakartaEE
  + Javax 
  + javax.servlet 
  + jaxb-api 
  + jaxb-impl 
  + jaxen 
  + jcl-over-slf4j 
  + json-simple 
  + jsr305 
  + junit 
  + junit-jupiter-api 
  + Log4j 
  + Micronaut 
  + Mockito 
  + mockito-core 
  + Okio 
  + PowerMockito 
  + Quarkus 
  + slf4j 
  + slf4j-api 
  + Spring Boot 
  + Spring Framework 
  + Spring Security 
  + Swagger 
  + testng 

**Anmerkung**  
Schalten Sie Ihren lokalen Computer während der Codetransformation nicht aus, da für den clientseitigen Build eine stabile Netzwerkverbindung erforderlich ist.

## Entwickeln von Code in Ihrer lokalen Umgebung
<a name="java-local-builds"></a>

Während einer Transformation führt Amazon Q Verifizierungs-Builds in Ihrer lokalen Umgebung durch. Amazon Q transformiert Ihren Code serverseitig in mehreren Schritten. Nach jedem Schritt sendet Amazon Q den Code an Ihre lokale Umgebung, um die vorgenommenen Änderungen zu erstellen und zu testen. Der Code wird dann an die Serverseite zurückgesendet, um die Transformation fortzusetzen. 

Der Build in Ihrer lokalen Umgebung hilft bei der Überprüfung des transformierten Codes, indem Amazon Q Tests ausführen kann, die Zugriff auf private Ressourcen erfordern. Damit Sicherheitsrisiken im Zusammenhang mit der Erstellung von KI-generiertem Code in Ihrer lokalen Umgebung minimiert werden, überprüft und aktualisiert Amazon Q den generierten Code, um Sicherheitsbedenken auszuräumen.

## Überprüfen der Transformationszusammenfassung und Akzeptieren der Änderungen
<a name="review-plan-accept-changes"></a>

Nach Abschluss der Transformation stellt Amazon Q eine Transformationszusammenfassung mit Einzelheiten zu den vorgenommenen Änderungen bereit, einschließlich des Status des endgültigen Builds, der angibt, ob Ihr gesamtes Projekt aktualisiert wurde. Sie können sich auch eine Zusammenfassung des Build-Protokolls ansehen, um alle Probleme zu verstehen, die Amazon Q daran gehindert haben, Ihren Code in der aktualisierten Version zu erstellen.

Die Transformationszusammenfassung enthält außerdem die Unterschiede zwischen den im Transformationsplan vorgeschlagenen Änderungen und den Änderungen, die Amazon Q letztendlich vorgenommen hat, um Ihren Code zu aktualisieren, sowie alle zusätzlichen Änderungen, die nicht im ursprünglichen Plan enthalten waren. 

Nachdem Sie die Transformationszusammenfassung überprüft haben, können Sie sich die Änderungen, die Amazon Q vorschlägt, in einer Dateivergleichsansicht ansehen. Alle Codeänderungen, die Amazon Q vorschlägt, wirken sich erst auf Ihre aktuellen Projektdateien aus, wenn Sie die Änderungen akzeptieren. Der transformierte Code ist bis zu 30 Tage nach Abschluss der Transformation verfügbar. 

## Abschließen teilweise erfolgreicher Transformationen
<a name="partially-successful-transformations"></a>

Abhängig von der Komplexität und den Besonderheiten Ihrer Codebasis kann es Fälle geben, in denen die Transformation teilweise erfolgreich ist. Das bedeutet, dass Amazon Q nur bestimmte Dateien oder Codebereiche in Ihrem Projekt transformieren konnte. In diesem Fall müssen Sie den verbleibenden Code manuell aktualisieren, damit Ihr Projekt in der aktualisierten Sprachversion erstellt werden kann. 

Beim Transformieren des verbleibenden Codes können Sie als Hilfestellung Amazon Q Chat in der IDE verwenden. Sie können Amazon Q bitten, die teilweise aktualisierten Dateien zu überprüfen und neuen Code bereitzustellen, um Probleme wie Kompilierungsfehler zu beheben. Sie können auch Funktionen wie [Funktionsentwicklung](q-in-IDE-chat.md#develop-code) und [Workspace-Kontext](workspace-context.md) verwenden, um einen größeren Teil Ihres Projekts als Kontext einzubeziehen und Vorschläge für mehrere Dateien gleichzeitig zu erhalten. 

# Konvertieren von Embedded SQL in Java-Anwendungen mit Amazon Q Developer
<a name="transform-sql"></a>

Der Amazon Q Developer-Agent für die Codetransformation in der IDE kann Ihnen bei der Konvertierung von Embedded SQL helfen, um die Datenbankmigration von Oracle zu PostgreSQL mit AWS Database Migration Service (AWS DMS) abzuschließen.

AWS DMS ist ein Cloud-Dienst, der die Migration relationaler Datenbanken, Data Warehouses, NoSQL-Datenbanken und anderer Arten von Datenspeichern ermöglicht. Die DMS-Schemakonvertierung in AWS DMS hilft Ihnen bei der Konvertierung von Datenbankschemata und Codeobjekten, die Sie auf Ihre Zieldatenbank anwenden können. [Weitere Informationen finden Sie unter Was ist? AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) im *AWS Database Migration Service Benutzerhandbuch*.

Wenn Sie AWS DMS und die DMS-Schemakonvertierung verwenden, um eine Datenbank zu migrieren, müssen Sie möglicherweise das eingebettete SQL in Ihrer Anwendung konvertieren, damit es mit Ihrer Zieldatenbank kompatibel ist. Anstatt es manuell zu konvertieren, können Sie Amazon Q in der IDE verwenden, um die Konvertierung zu automatisieren. Amazon Q verwendet Metadaten aus einer DMS-Schemakonvertierung, um Embedded SQL in Ihrer Anwendung in eine Version zu konvertieren, die mit Ihrer Zieldatenbank kompatibel ist.

Derzeit kann Amazon Q SQL in Java-Anwendungen für Oracle-Datenbanken konvertieren, die zu PostgreSQL migriert werden. Sie sehen die Option zur Transformation von SQL-Code in der IDE nur, wenn Ihre Anwendung Oracle-SQL-Anweisungen enthält. Weitere Informationen erhalten Sie in den Voraussetzungen. 

## Schritt 1: Voraussetzungen
<a name="sql-transform-prereqs"></a>

Bevor Sie fortfahren, sollten Sie sicherstellen, dass Sie die in [Einrichten von Amazon Q in Ihrer IDE](q-in-IDE-setup.md) beschriebenen Schritte ausgeführt habe.

Bevor Sie mit einem Codetransformationsjob für die SQL-Konvertierung beginnen, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind:
+ Sie migrieren eine Java-Anwendung mit Embedded SQL von einer Oracle-Datenbank zu einer PostgreSQL-Datenbank. Ihre Anwendung muss Oracle-SQL-Anweisungen enthalten, damit sie transformiert werden kann. 
+ Sie haben den Prozess zur Konvertierung Ihres Datenbankschemas mithilfe der AWS -DMS-Schemakonvertierung abgeschlossen. Weitere Informationen erhalten Sie unter [Migrating Oracle databases to Amazon RDS for PostgreSQL with DMS Schema Conversion](https://docs.aws.amazon.com/dms/latest/sbs/schema-conversion-oracle-postgresql.html) im *Leitfaden zur Datenbankmigration*.
+ Nach Abschluss der Schemakonvertierung haben Sie die Migrationsprojektdatei von der AWS DMS-Konsole heruntergeladen.

## Schritt 2: Konfigurieren Ihrer Anwendung
<a name="sql-transform-configure"></a>

Damit Sie Ihren eingebetteten SQL-Code konvertieren können, muss Ihr Java-Projekt mindestens eine `.java`-Datei enthalten. 

Wenn Sie eine JetBrains IDE verwenden, müssen Sie das SDK-Feld in den Projektstruktureinstellungen auf das entsprechende JDK festlegen. Informationen zur Konfiguration der Projektstruktureinstellungen finden Sie in der JetBrains Dokumentation unter [Einstellungen für die Projektstruktur](https://www.jetbrains.com/help/idea/project-settings-and-structure.html). 

## Schritt 3: Konvertieren von Embedded SQL
<a name="convert-sql"></a>

Gehen Sie wie folgt vor, um den eingebetteten SQL-Code in Ihrer Java-Anwendung in ein Format zu konvertieren, das mit Ihrer PostgreSQL-Zieldatenbank kompatibel ist:

1. Öffnen Sie in Ihrer IDE, in der Amazon Q installiert ist, die Java-Codebasis, die das Embedded SQL enthält, das Sie konvertieren müssen. 

1. Wählen Sie das Amazon-Q-Symbol aus, um den Chat-Bereich zu öffnen. 

1. Bitten Sie Amazon Q, Ihre Anwendung im Chat-Panel zu transformieren.

1. Wenn Ihre Java-Anwendung für die SQL-Konvertierung geeignet ist, werden Sie von Amazon Q aufgefordert, auszuwählen, welche Art von Transformation Sie durchführen möchten. Geben Sie **SQL conversion** ein. 

1. Amazon Q fordert Sie auf, die Schema-Metadatendatei hochzuladen, die Sie von Amazon S3 abgerufen haben. Im Chat bietet Amazon Q Anleitungen zum Abrufen der Datei. 

1. Amazon Q fordert Sie auf, das Projekt anzugeben, das die eingebettete SQL- und Datenbankschemadatei enthält. Wählen Sie die entsprechenden Dateien aus den Dropdown-Menüs im Chat-Bereich aus.

1. Vergewissern Sie sich, dass die von Amazon Q aus dem Datenbankschema abgerufenen Daten korrekt sind. 

1. Amazon Q beginnt mit der Konvertierung Ihres SQL-Codes. Dieser Vorgang kann einige Minuten dauern.

1. Nachdem Amazon Q den SQL-Code konvertiert hat, stellt es eine Diff-Anzeige mit allen Aktualisierungen bereit, die es an Ihren Dateien vorgenommen hat. Überprüfen Sie die Änderungen in den Diffs und akzeptieren Sie dann die Änderungen, um Ihren Code zu aktualisieren. 

   Amazon Q bietet auch eine Zusammenfassung der Transformation mit Details zu den vorgenommenen Änderungen.

1. Kehren Sie nach der Aktualisierung Ihres Codes zur AWS DMS-Konsole zurück, um zu überprüfen, ob das neue SQL mit der migrierten Datenbank kompatibel ist. 

# Transformieren von Code in der Befehlszeile mit Amazon Q Developer
<a name="transform-CLI"></a>

Mit dem Befehlszeilen-Transformationstool von Amazon Q Developer können Sie Ihre Anwendungen von der Befehlszeile aus transformieren. Wenn Sie Ihren Code transformieren möchten, geben Sie den Pfad zu Ihrem Quellcode und alle erforderlichen Konfigurationsdateien an. Amazon Q generiert dann in einer Reihe von Schritten neuen Code. Während der gesamten Transformation erstellt Amazon Q Code in Ihrer lokalen Umgebung, um Änderungen zu überprüfen. Weitere Informationen finden Sie unter [Entwickeln von Code in Ihrer lokalen Umgebung](#local-builds). Amazon Q erstellt einen neuen Branch in Ihrem Repository, in dem es die Codeänderungen festschreibt. Wenn die Transformation abgeschlossen ist, können Sie den Branch mit Ihrem ursprünglichen Branch zusammenführen, um die Änderungen in Ihre Codebasis zu übernehmen. 

Installieren Sie zunächst das Befehlszeilentool und authentifizieren Sie sich. Sehen Sie sich dann die Befehle zum Konfigurieren und Starten einer Transformation an. 

**Topics**
+ [

## Entwickeln von Code in Ihrer lokalen Umgebung
](#local-builds)
+ [

## Befehle
](#commands)
+ [

# Ausführen einer Transformation in der Befehlszeile mit Amazon Q Developer
](run-CLI-transformations.md)
+ [

# Problembehebung bei Transformationen in der Befehlszeile
](troubleshooting-CLI-transformations.md)
+ [

# Versionsverlauf des Befehlszeilen-Transformationstools für Amazon Q Developer
](transform-CLI-versions.md)

## Entwickeln von Code in Ihrer lokalen Umgebung
<a name="local-builds"></a>

Während einer Transformation führt Amazon Q Verifizierungs-Builds in Ihrer lokalen Umgebung durch. Amazon Q transformiert Ihren Code serverseitig in mehreren Schritten. Nach jedem Schritt sendet Amazon Q den Code an Ihre lokale Umgebung, um die vorgenommenen Änderungen zu erstellen und zu testen. Der Code wird dann an die Serverseite zurückgesendet, um die Transformation fortzusetzen. 

Der Build in Ihrer lokalen Umgebung hilft bei der Überprüfung des transformierten Codes, indem Amazon Q Tests ausführen kann, die Zugriff auf private Ressourcen erfordern. Damit Sicherheitsrisiken im Zusammenhang mit der Erstellung von KI-generiertem Code in Ihrer lokalen Umgebung minimiert werden, überprüft und aktualisiert Amazon Q den generierten Code, um Sicherheitsbedenken auszuräumen.

**Anmerkung**  
Amazon Q führt Transformationen auf der Grundlage der Anforderungen, Beschreibungen und Inhalte Ihres Projekts durch. Damit die Sicherheit gewährleistet wird, sollten Sie vermeiden, externe, ungeprüfte Artefakte in Ihr Projekt-Repository aufzunehmen. Überprüfen Sie außerdem den transformierten Code stets auf Funktionalität und Sicherheit.

## Befehle
<a name="commands"></a>

 step-by-stepAnweisungen zum Ausführen dieser Befehle finden Sie unter[Ausführen einer Transformation in der Befehlszeile mit Amazon Q Developer](run-CLI-transformations.md). 

Führen Sie folgenden Befehl aus, um eine Transformation zu konfigurieren und sich bei Amazon Q Developer Pro zu authentifizieren:

```
qct configure
```

Führen Sie den folgenden Befehl aus, um eine Transformation für ein Java-Upgrade zu starten. Für können Sie*<your-source-java-version>*,`JAVA_1.8`, `JAVA_8` `JAVA_11``JAVA_17`, oder eingeben`JAVA_21`. Für *<your-target-java-version>* können Sie entweder `JAVA_17` oder eingeben`JAVA_21`. Sowohl `--source_version` als auch `--target_version` sind optional. Das Flag `--trust` ermöglicht die Ausführung einer Transformation, während gleichzeitig der Code geprüft wird, um die Sicherheit zu gewährleisten.

```
qct transform --source_folder <path-to-folder>
    --source_version <your-source-java-version>        
    --target_version <your-target-java-version>
    --trust
```

Führen Sie folgenden Befehl aus, um eine Transformation für eine SQL-Konvertierung zu starten:

```
qct transform --source_folder <path-to-folder>
    --sql_conversion_config_file <path-to-sql-config-file>
```

Führen Sie folgenden Befehl aus, um festzustellen, welche Version des Befehlszeilentools Sie für die Transformation verwenden:

```
qct -v
```

Führen Sie folgenden Befehl aus, um Hilfe bei Transformationen zu erhalten:

```
qct -h
```

Führen Sie folgenden Befehl aus, um den Verlauf Ihrer Transformationsaufträge einzusehen:

```
qct history
```

Weitere Informationen zum Anzeigen und Verwalten Ihres Transformationsauftragsverlaufs finden Sie unter [Anzeigen des Auftragsverlaufs in der Befehlszeile](transformation-job-history.md#cli-job-history).

# Ausführen einer Transformation in der Befehlszeile mit Amazon Q Developer
<a name="run-CLI-transformations"></a>

Gehen Sie wie folgt vor, um Ihren Code in der Befehlszeile mit dem Befehlszeilentool Amazon Q Developer zu transformieren.

## Voraussetzungen
<a name="CLI-transformation-prerequisites"></a>

Bevor Sie eine Transformation über die Befehlszeile starten können, müssen die folgenden Voraussetzungen erfüllt sein:
+ Wenn Sie Ihre Java-Code-Version aktualisieren, erfüllt Ihr Projekt die [Voraussetzungen für ein Upgrade von Java-Versionen mit Amazon Q](code-transformation.md#java-upgrade-prerequisites).
+ Wenn Sie Embedded SQL in eine Java-Anwendung konvertieren, erfüllt Ihre Anwendung die [Voraussetzungen für die Konvertierung von Embedded SQL mit Amazon Q](transform-sql.md#sql-transform-prereqs).
+ Sie haben Python in Ihrer Befehlszeilenumgebung installiert. Sie installieren das Befehlszeilentool wie folgt. Die unterstützte Mindestversion für Python ist 3.12.
+ Sie führen die Transformation unter macOS oder Linux aus. 
+ Die Größe Ihrer Anwendung beträgt 2 GB oder weniger. 
+ Wenn Sie bestimmte Abhängigkeiten vorliegen haben, für die Amazon Q ein Upgrade durchführen soll, haben Sie eine [Upgrade-Datei für Abhängigkeiten](#step-3-dependency-upgrade-file) konfiguriert.

## Schritt 1: Auswählen der Authentifizierungsmethode und Hinzufügen von Berechtigungen
<a name="step-1-permissions-auth"></a>

Sie können IAM Identity Center authentifizieren, um Transformationen in der Befehlszeile auszuführen. Stellen Sie sicher, dass Sie über die entsprechenden Berechtigungen verfügen.

**Anmerkung**  
Vom Kunden verwaltete Schlüssel werden für Transformationen, die über die Befehlszeile ausgeführt werden, nicht unterstützt.

### Berechtigungen hinzufügen
<a name="transform-CLI-add-permissions"></a>

Die IAM-Identität, die mit dem Abonnement von Amazon Q Developer verknüpft ist, das Sie zur Authentifizierung verwenden, muss über die entsprechenden Berechtigungen verfügen, um Transformationen in der Befehlszeile durchzuführen. Bevor Sie fortfahren, stellen Sie sicher, dass Ihre IAM-Identität über die in [Zulassen, dass Benutzer Transformationen in der Befehlszeile ausführen](id-based-policy-examples-users.md#id-based-policy-examples-allow-cli-transformations) definierten Berechtigungen verfügt.

### Authentifizieren bei IAM Identity Center mit einem Abonnement von Amazon Q Developer Pro
<a name="auth-IdC"></a>

Wenn Sie sich bei IAM Identity Center authentifizieren möchten, muss Ihr Administrator für Sie [Amazon Q Developer Pro als Unternehmensbenutzer abonniert](subscribe-users.md) haben und Sie müssen die Start-URL angeben, um sich über Ihr Abonnement zu authentifizieren. Sie oder Ihr Administrator finden die Start-URL in der Konsole von Amazon Q Developer. Weitere Informationen erhalten Sie unter [Finden der Start-URL zur Verwendung mit Amazon Q Developer](manage-account-details.md).

Informationen zum Hinzufügen der erforderlichen Berechtigungen finden Sie unter [Berechtigungen hinzufügen](#transform-CLI-add-permissions).

Sie geben die Start-URL unter [Schritt 4: Konfigurieren und Authentifizieren](#step-4-configure-auth) ein.

## Schritt 2: Installieren des Tools
<a name="step-2-install"></a>



1. [Laden Sie das Amazon-Q-Befehlszeilentool für Transformationen](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.2.2.zip) herunter und entpacken Sie es.

   Informationen zum Herunterladen einer früheren Version des Befehlszeilentools finden Sie unter [Versionshistorie](transform-CLI-versions.md).

1. Wir empfehlen Ihnen, eine virtuelle Umgebung in Python einzurichten, um das Tool zu installieren. Zum Erstellen einer virtuellen Umgebung öffnen Sie ein Terminalfenster in dem Verzeichnis, in dem Sie das Tool installieren möchten, und führen Sie Folgendes aus:

   ```
   python -m venv qct-cli 
   ```

1. Führen Sie folgenden Befehl aus, um die virtuelle Umgebung zu aktivieren: 

   ```
   source qct-cli/bin/activate 
   ```

1. Wenn Sie das Tool in Ihrer Befehlszeile installieren möchten, führen Sie den folgenden Befehl mit dem Pfad aus, in dem Sie das Tool entpackt haben, basierend auf Ihrer Rechnerarchitektur:

------
#### [ Linux\$1aarch64 ]

   ```
   pip install <path/to/unzipped-tool>/Linux_aarch64/amzn_qct_cli-1.2.2-py3-none-any.whl
   ```

------
#### [ Linux\$1x86\$164 ]

   ```
   pip install <path/to/unzipped-tool>/Linux_x86_64/amzn_qct_cli-1.2.2-py3-none-any.whl
   ```

------
**Anmerkung**  
Wenn Sie eine ältere Version des Befehlszeilentools für Transformationen verwenden, ersetzen Sie `1.2.2` durch die [Version](transform-CLI-versions.md), die Sie heruntergeladen haben.

1. Führen Sie folgenden Befehl aus, um zu überprüfen, ob das Tool installiert wurde:

   ```
   which qct
   ```

## Schritt 3: Erstellen einer Upgrade-Datei für Abhängigkeiten (optional)
<a name="step-3-dependency-upgrade-file"></a>

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](transform-CLI.md#local-builds). 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 `properties` in der Datei `pom.xml` Ihrer 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\$1PARTY oder THIRD\$1PARTY.

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: Konfigurieren und Authentifizieren
<a name="step-4-configure-auth"></a>

Bevor Sie mit einer Transformation beginnen können, müssen Sie sich bei IAM Identity Center authentifizieren und Konfigurationsdetails für Ihre Transformation angeben. 

1. Führen Sie den folgenden Befehl aus, um den Transformationskonfigurationsprozess zu starten:

   ```
   qct configure
   ```

1. Sie werden aufgefordert, einen JDK-Pfad für jede unterstützte Java-Version einzugeben. Sie müssen nur den Pfad zu JDK der Quellversion Ihrer Java-Anwendung angeben, nicht der Zielversion.

1. Als Nächstes werden Sie zur Authentifizierung bei IAM Identity Center aufgefordert, die Start-URL für Ihr Abonnementprofil von Amazon Q Developer Pro einzugeben.

   Geben Sie dann den Ort, AWS-Region an dem Sie abonniert wurden, im folgenden Format ein:`us-east-1`. Eine Liste der unterstützten -Regionen finden Sie unter [Unterstützte Regionen](regions.md). Eine Liste der Regionscodes finden Sie unter [Regionale Endpunkte](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) in der *Anleitung für Allgemeine AWS-Referenz *. 

1. Ihre Konfigurationseinstellungen werden in einer Datei configuration.ini gespeichert. 

## Schritt 5: Ausführen einer Transformation
<a name="step-5-run-transformation"></a>

Wählen Sie die Art der Transformation aus, die Sie durchführen, um die erforderliche Konfiguration und Befehle zu sehen. 

**Anmerkung**  
Schalten Sie Ihren lokalen Computer während der Codetransformation nicht aus, da für den clientseitigen Build eine stabile Netzwerkverbindung erforderlich ist.

------
#### [ Java upgrade ]

**Ändern des Transformationsplans**

Bei Upgrades der Java-Version generiert Amazon Q einen Transformationsplan, den Sie vor Beginn der Transformation überprüfen können. Sie haben die Möglichkeit, die folgenden Planänderungen anzufordern:
+ Die Bibliotheken, die Amazon Q aktualisieren soll, können Sie in der Liste, die im Plan enthalten ist, ändern.
  + Beispiele für Prompts:
    + Nur <dependency1>, <dependency2> und <dependency5> aktualisieren
    + <dependency1> oder <dependency2> nicht aktualisieren
+ Die Zielversion, auf die eine Bibliothek aktualisiert werden soll
  + Beispiele für Prompts:
    + <dependency> stattdessen auf diese Version <version> aktualisieren
+ Welche Schritte Amazon Q ausführen soll
  + Beispiele für Prompts:
    + Nur die Schritte 1–7 ausführen
    + Die Schritte 5–9 nicht ausführen
+ Zusätzliche Abhängigkeiten für das Upgrade hinzufügen (dies ist nur eine Option beim Upgrade auf eine neuere JDK-Version)
  + Beispiele für Prompts:
    + <dependency1> auch auf <version2> aktualisieren

**Aktualisieren von Java-Code**

1. Führen Sie den folgenden Befehl aus, um eine Transformation für ein Java-Upgrade zu starten. Ersetzen Sie `<path-to-folder>` durch den Pfad zu dem Ordner mit dem Code, den Sie transformieren, und `<your-target-java-version>` entweder durch `JAVA_17` oder `JAVA_21`.

   ```
   qct transform --source_folder <path-to-folder>
       --target_version <your-target-java-version>
   ```

   Zusätzliche Befehlsoptionen: 
   + Wenn Sie Abhängigkeiten für das Upgrade angeben, fügen Sie die Option `--dependency_upgrade_file` mit dem Pfad zu Ihrer Upgrade-Datei für Abhängigkeiten hinzu.
   + Wenn Sie den Transformationsplan nicht überprüfen oder aktualisieren möchten, fügen Sie Ihrem Befehl das Flag `--no-interactive` hinzu. Amazon Q wird Sie weder um Feedback zum Plan bitten noch haben Sie die Möglichkeit, Änderungen anzufordern.

1. Ihre Maven-Version wird verifiziert, bevor die Transformation beginnt. Wenn Sie über die unterstützte Mindestversion verfügen, erhalten Sie die folgende Ausgabe: 

   ```
   Running command: mvn --version at: path/to/current/directory 
   Your Maven version is supported for transformations.
   ```

   Wenn Sie keine unterstützte Version von Maven haben, müssen Sie diese aktualisieren, um fortzufahren. Weitere Informationen hierzu finden Sie unter [Voraussetzungen](#CLI-transformation-prerequisites). 

1. Wenn Sie das Flag `--no-interactive` nicht hinzugefügt haben, werden Sie von Amazon Q aufgefordert, Feedback zum Transformationsplan zu geben. Sie können die Änderungen, die Sie vornehmen möchten, in natürlicher englischer Sprache erläutern. Amazon Q aktualisiert den Plan, sofern er die von Ihnen angeforderten Änderungen unterstützt. 

1. Amazon Q beginnt mit der Transformation. Es werden während der gesamten Transformation Statusaktualisierungen ausgegeben. Wenn der Vorgang abgeschlossen ist, gibt Amazon Q den Pfad an, in dem die Transformationsergebnisse, Protokolle und Konfigurationsdateien ausgegeben werden. 

   Ihr aktualisierter Code wird dem neuen Branch zugewiesen, den Amazon Q erstellt hat. Amazon Q überträgt den Code in einem oder mehreren Commits, je nachdem, welche Auswahl Sie bei der Ausführung von `qct configure` getroffen haben. 

1. Wenn Sie nach dem Upgrade Ihrer Java-Version eine weitere Transformation ausführen, starten Sie die zweite Transformation in dem Branch, in dem Sie die Änderungen aus der ersten Transformation festgeschrieben haben. 

------
#### [ SQL conversion ]

Bevor Sie beginnen, lesen Sie den Abschnitt [Konvertieren von Embedded SQL in Java-Anwendungen mit Amazon Q Developer](transform-sql.md), damit Sie die Voraussetzungen für diese Art von Transformation verstehen. 

1. Wenn Sie Embedded SQL konvertieren möchten, müssen Sie zunächst eine YAML-Datei erstellen, die den Pfad zur Schema-Metadatendatei aus Ihrer [AWS DMS -Schemakonvertierung](https://docs.aws.amazon.com/dms/latest/sbs/schema-conversion-oracle-postgresql.html) enthält.

   Für die Datei ist folgendes Format erforderlich: 

   ```
   schema_conv_metadata_path: <path-to-metadata-zip-file>
   ```

1. Führen Sie den folgenden Befehl aus, um eine Transformation für eine SQL-Konvertierung zu starten. Ersetzen Sie `<path-to-folder>` durch den Pfad zu dem Ordner mit dem Code, den Sie transformieren, und `<path-to-sql-config-file>` durch den Pfad zu der YAML-Datei, die Sie in Schritt 1 erstellt haben.

   ```
   qct transform --source_folder <path-to-folder>
       --sql_conversion_config_file <path-to-sql-config-file>
   ```

1. Wenn Amazon Q mehrere Schemata in Ihrer Schema-Metadatendatei findet, wird die Transformation gestoppt und eine Liste der erkannten Schemata bereitgestellt. Wählen Sie aus, welches Schema für die SQL-Konvertierung verwendet werden soll, und fügen Sie dann der YAML-Datei ein neues Feld `schema: <schema-name>` hinzu. 

1. Amazon Q beginnt mit der Transformation. Es werden während der gesamten Transformation Statusaktualisierungen ausgegeben. Wenn der Vorgang abgeschlossen ist, gibt Amazon Q den Pfad an, in dem die Transformationsergebnisse, Protokolle und Konfigurationsdateien ausgegeben werden. 

   Ihr aktualisierter Code wird dem neuen Branch zugewiesen, den Amazon Q erstellt hat.

------

## Anhalten oder Abbrechen einer Transformation
<a name="pause-cancel-CLI-transformations"></a>

Sie können wählen, ob Sie Ihren aktuellen Transformationsauftrag anhalten oder abbrechen möchten. Sie können einen Transformationsauftrag für bis zu 12 Stunden anhalten, bevor Sie ihn fortsetzen können.

**So halten Sie einen Codetransformationsauftrag an oder brechen ihn ab**

1. Drücken Sie in Ihrem CLI-Terminal **Strg\$1C** auf Ihrer Tastatur.

1. Wählen Sie aus, ob Sie Ihre Transformation anhalten oder abbrechen möchten.
   + Geben Sie `1` ein, wenn Sie den Codetransformationsauftrag anhalten möchten. Sie können den Auftrag innerhalb von 12 Stunden wieder aufnehmen, um die Codetransformation mit dem folgenden QCT-Befehl fortzusetzen: ``qct transform --source_folder=≤/Path/Given/Originally/To/QCT>``
   + Geben Sie `2` ein, wenn Sie den Codetransformationsauftrag abbrechen möchten.

# Problembehebung bei Transformationen in der Befehlszeile
<a name="troubleshooting-CLI-transformations"></a>

Die folgenden Informationen können Ihnen helfen, häufig auftretende Probleme bei der Transformation von Anwendungen in der Befehlszeile mit Amazon Q Developer zu beheben.

## Warum wird mein Bearer-Token nicht aktualisiert?
<a name="bearer-token-refresh"></a>

Wenn der folgende Fehler angezeigt wird, bedeutet dies, dass Sie das für die Authentifizierung verwendete Bearer-Token aktualisieren müssen.

```
Refreshing bearer token
('Error refreshing bearer token due to: ', InvalidGrantException('An error occurred (InvalidGrantException) when calling the CreateToken operation: '))
('Error getting bearer token due to: ', RuntimeError(('Error refreshing bearer token due to: ', InvalidGrantException('An error occurred (InvalidGrantException) when calling the CreateToken operation: '))))
```

Führen Sie den folgenden Befehl aus, um diesen Fehler zu beheben:

```
rm ~/.aws/qcodetransform/credentials.json
```

Nachdem Sie die veraltete Anmeldeinformationsdatei entfernt haben, führen Sie den Befehl `qct transform` erneut aus, um die Transformation neu zu starten.

## Warum wird nicht die neueste Version des Befehlszeilentools verwendet?
<a name="install-latest-version"></a>

Wenn Sie eine neue Version des Befehlszeilentools für Transformationen herunterladen, wird mitunter immer noch eine frühere Version des Tools verwendet.

Wenn Sie sicherstellen möchten, dass Sie die neueste Version des Tools verwenden, laden Sie die [neueste Version](transform-CLI-versions.md) herunter. Führen Sie den folgenden Befehl mit dem Pfad aus, in dem Sie das Tool entpackt haben, basierend auf Ihrer Rechnerarchitektur:

------
#### [ Linux\$1aarch64 ]

```
pip install <path/to/unzipped-tool>/Linux_aarch64/amzn_qct_cli-1.2.2-py3-none-any.whl --force-reinstall
```

------
#### [ Linux\$1x86\$164 ]

```
pip install <path/to/unzipped-tool>/Linux_x86_64/amzn_qct_cli-1.2.2-py3-none-any.whl --force-reinstall
```

------

**Anmerkung**  
Wenn Sie eine ältere Version des Befehlszeilentools für Transformationen verwenden, ersetzen Sie `1.2.2` durch die [Version](transform-CLI-versions.md), die Sie heruntergeladen haben.

# Versionsverlauf des Befehlszeilen-Transformationstools für Amazon Q Developer
<a name="transform-CLI-versions"></a>

Die folgenden Informationen enthalten Details zu aktuellen und früheren Versionen des Befehlszeilen-Transformationstools von Amazon Q Developer. Die Tabelle enthält den Download-Link, das Veröffentlichungsdatum und die Versionshinweise für jede Version. 


****  

| Version | Datum der Veröffentlichung | Versionshinweise | 
| --- | --- | --- | 
|   [1.2.2 (aktuell)](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.2.2.zip)   | 26. Februar 2026 | Werbebanner für AWS Transform Custom zur QCT CLI hinzugefügt. Anzeige eines Banners bei der Ausführung von Transformationsbefehlen und Hilfetext. Neues Flag --skip-banner zur Unterdrückung der Bannerausgabe. | 
|   [1.2.1](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.2.1.zip)   | 9. September 2025 | Die Maven-Erweiterung wurde aktualisiert, sodass sie POMs beim ersten Projekt-Upload eine übergeordnete Komponente aus erster Hand einbezieht | 
|   [1.2.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.2.0.zip)   | 7. August 2025 | Unterstützung für die Anzeige des Auftragsverlaufs und für die Visualisierung der Modulstruktur für Maven-Java-Projekte wurde hinzugefügt. | 
|   [1.1.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.1.0.zip)   | 21. Juli 2025 | Diese Version bietet Unterstützung für die Erfassung von Telemetriedaten zu Transformationen. | 
|   [1.0.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.0.0.zip)   | 27. Juni 2025 | Das Befehlszeilen-Transformationstool ist allgemein verfügbar und unterstützt die Authentifizierung über AWS IAM Identity Center nur mit einem Amazon Q Developer Pro-Abonnement. Es wurde Unterstützung für Abonnements in der Region Europa (Frankfurt) hinzugefügt. | 
|   [0.6.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.6.0.zip)   | 6. Juni 2025 | Diese Version bietet Unterstützung für die Bereitstellung einer Upgrade-Datei für Abhängigkeiten und die Iteration des Transformationsplans. | 
|   [0.5.2](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.5.2.zip)   | 16. April 2025 | Bugfixes zur Behebung von Problemen bei der Wiederaufnahme von Aufträgen und Fehlern bei Anwendungen mit Abhängigkeiten von Erstanbietern wurden hinzugefügt. | 
|   [0.5.1](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.5.1.zip)   | 13. März 2025 | Wenn Sie sich mit IAM authentifizieren, müssen Sie keine AWS-Region mehr angeben. Die Version enthält auch einen Bugfix, um den Auftragsstatus in die Ausgabeprotokolle aufzunehmen.  | 
|   [0.5.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.5.0.zip)   | 28. Februar 2025 | Beinhaltet Unterstützung für die Authentifizierung mit IAM über die. AWS CLI | 
|   [0.4.1](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.4.1.zip)   | 17. Februar 2025 | Bugfix zur Unterstützung der Eingabe des Ortes, AWS-Region an dem Ihr Amazon Q Developer-Abonnement konfiguriert ist. | 
|   [0.4.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.4.0.zip)   | 14. Februar 2025 | Diese Version bietet Unterstützung für das Upgrade von Java-Anwendungen auf Java 21. | 
|   [0.3.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.3.0.zip)   | 12. Februar 2025 | Diese Version bietet Unterstützung für die Konvertierung von Embedded SQL in Java-Anwendungen. | 
|   [0.2.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.2.0.zip)   | 3. Februar 2025 | Diese Version bietet Unterstützung für den Empfang von aktualisiertem Java-Code in mehreren Commits. | 
|  [0.1.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.1.0.zip)  | 27. November 2024 | Erstversion. Diese Version bietet Unterstützung für das Aktualisieren von Java-Codeversionen über die Befehlszeile. | 

# Anzeigen des Verlaufs der Transformationsaufträge
<a name="transformation-job-history"></a>

Amazon Q bietet einen umfassenden Überblick über den Verlauf Ihrer Java-Transformationsaufträge, sodass Sie die Aufträge sowohl in IDEs als auch in der Befehlszeile verfolgen und überprüfen können.

Der Verlauf der Transformationsaufträge umfasst die folgenden Informationen zu einem Auftrag:
+ **Datum** – wann der Transformationsauftrag ausgeführt wurde
+ **Projektname** – der Name des Projekts, das transformiert wurde
+ **Status** – der aktuelle Status des Transformationsauftrags
+ **Dauer** – wie lange es gedauert hat, bis die Transformation abgeschlossen war
+ **Auftrags-ID** – eine eindeutige Kennung für den Transformationsauftrag
+ **Diff-Patch** – ein Link oder Pfad zur endgültigen Diff-Patch-Datei, in der alle Codeänderungen aufgeführt sind
+ **Zusammenfassung** – ein Link oder Pfad zur Datei mit der Transformationszusammenfassung, die Details zu den vorgenommenen Änderungen enthält

**Anmerkung**  
Nur Transformationen, die seit der Veröffentlichung dieser Funktion ausgeführt wurden, sind im Auftragsverlauf verfügbar. Das Veröffentlichungsdatum der Funktion finden Sie unter [Dokumentverlauf für das Benutzerhandbuch von Amazon Q Developer](doc-history.md). 

## Anzeigen des Auftragsverlaufs in IDEs
<a name="ide-job-history"></a>

**Anmerkung**  
Diese Funktion ist aktuell nur in Visual Studio Code verfügbar.

Der Transformation Hub in Visual Studio Code bietet einen umfassenden Überblick über Ihres Verlaufs von Java-Transformationsaufträgen. 

In einer Tabelle im Transformation Hub sind Ihre 10 letzten Transformationsaufträge der vergangenen 30 Tage aufgeführt. Von der Tabelle aus können Sie auf Transformationsartefakte zugreifen und Aufträge aktualisieren, um den Fortschritt zu verfolgen und fehlende Artefakte zu ermitteln.

### Abrufen von Transformationsartefakten
<a name="retrieve-artifacts"></a>

In der Tabelle mit dem Auftragsverlauf können Sie auf Transformationsartefakte wie die Diff-Patches und Zusammenfassungsdateien zugreifen. Wählen Sie die entsprechenden Links, um die Diff-Datei oder die Zusammenfassung in Ihrer IDE zu öffnen.

Artefakte werden lokal im Verzeichnis `.aws/transform` gespeichert, sodass Sie auch auf zuvor heruntergeladene Transformationsartefakte aus früheren Aufträgen zugreifen können.

### Aktualisieren des Auftragsstatus
<a name="refresh-jobs"></a>

Sie können den Auftragsstatus in der Tabelle mit dem Auftragsverlauf aktualisieren. Aktualisieren Sie einen fehlgeschlagenen Auftrag, um einen aktualisierten Status von der Serverseite zu erhalten, die Ihren Server möglicherweise noch nicht erreicht hat, z. B. wenn Amazon Q einen fehlgeschlagenen Auftrag fortsetzen kann. Sie können auch abgeschlossene Aufträge aktualisieren, um Artefakte herunterzuladen, die möglicherweise noch nicht angezeigt werden. 

### So wird der Auftragsverlauf für Aufträge gespeichert, die in der IDE ausgeführt werden
<a name="ide-history-storage"></a>

Für Visual Studio Code werden alle Informationen und Artefakte von Transformationsaufträgen lokal im Verzeichnis `.aws/transform` gespeichert. Der Speicher ist wie folgt organisiert:

```
.aws/transform/
├── [project-name-1]/
│   ├── [job-id-1]/
│   │   ├── diff.patch
│   │   ├── [summary-1]/
│   │   │   └── summary.md
│   │   │   └── buildCommandOutput.log
│   └── [job-id-2]/
│       ├── diff.patch
│       ├── [summary-2]/
│       │   └── summary.md
│       │   └── buildCommandOutput.log
└── [project-name-2]/
    └── [job-id-3]/
        ├── diff.patch
        ├── [summary-3]/
        │   └── summary.md
        │   └── buildCommandOutput.log
```

## Anzeigen des Auftragsverlaufs in der Befehlszeile
<a name="cli-job-history"></a>

Bei Transformationen in der Befehlszeile bietet der Befehl **qct history** Zugriff auf Ihren Verlauf von Transformationsaufträgen mit Anpassungsoptionen.

Für die CLI werden alle Verlaufsinformationen von Transformationsaufträgen lokal im Verzeichnis `.aws/qcodetransform/history/` gespeichert.

### Verwenden des Befehls qct history
<a name="cli-history-command"></a>

Der grundlegende Befehl zum Anzeigen Ihres Verlaufs von Transformationsaufträgen lautet:

```
qct history
```

Standardmäßig zeigt dieser Befehl die 10 letzten Transformationsaufträge sowie alle angehaltenen oder in Bearbeitung befindlichen Aufträge an.

Sie können auch angeben, wie viele Einträge im Auftragsverlauf mit dem Flag **--limit** angezeigt werden sollen. Wenn Sie beispielsweise 20 Aufträge anzeigen möchten, führen Sie folgenden Befehl aus:

```
qct history --limit 20
```

# Behebung von Problemen bei Java-Transformationen
<a name="troubleshooting-code-transformation"></a>

Die folgenden Informationen können Ihnen helfen, häufig auftretende Probleme bei der Transformation von Java-Anwendungen mit Amazon Q Developer zu beheben.

**Topics**
+ [

## Warum kann Amazon Q mein Projekt nicht hochladen?
](#project-upload-fail)
+ [

## Warum schlagen meine Maven-Befehle fehl?
](#maven-commands-failing)
+ [

## Wie füge ich Maven meinem `PATH` hinzu?
](#add-maven-to-path)
+ [

## Warum kann Amazon Q meinen Code nicht erstellen?
](#build-fail)
+ [

## Warum ist meine Transformation nach 55 Minuten fehlgeschlagen?
](#build-time-limit)
+ [

## Warum kann ich meinen transformierten Code nicht herunterladen?
](#download-code-fail)
+ [

## Wie greife ich auf Code-Transformationsprotokolle zu?
](#logs)
+ [

## Wie finde ich meine Transformationsauftrags-ID?
](#job-id)

## Warum kann Amazon Q mein Projekt nicht hochladen?
<a name="project-upload-fail"></a>

Wenn Ihr Projekt nicht hochgeladen werden kann, liegt dies wahrscheinlich an einem der folgenden Probleme. Sehen Sie sich das Thema an, das dem Fehler entspricht, den Sie von Amazon Q erhalten haben. 

**Topics**
+ [

### Reduzierung der Projektgröße
](#reduce-project-size)
+ [

### Konfigurieren der Proxy-Einstellungen in Ihrer IDE
](#configure-proxy)
+ [

### Zulassen des Zugriffs auf Amazon S3
](#allowlist-s3-bucket)

### Reduzierung der Projektgröße
<a name="reduce-project-size"></a>

Zum Transformieren Ihres Codes generiert Amazon Q ein Projektartefakt, das Ihren Quellcode, Projektabhängigkeiten und Build-Protokolle enthält. Die maximale Größe des Projektartefakts für einen Transformationsauftrag beträgt 2 GB. Wenn Sie im Zusammenhang mit der Größe des Projektartefakts eine Fehlermeldung erhalten, müssen Sie die Größe Ihres Projekts verringern oder versuchen, ein kleineres Projekt zu transformieren. Sie können die Größe Ihrer Projektartefaktdatei in den Codetransformationsprotokollen einsehen. Weitere Informationen finden Sie unter [Wie greife ich auf Code-Transformationsprotokolle zu?](#logs).

### Konfigurieren der Proxy-Einstellungen in Ihrer IDE
<a name="configure-proxy"></a>

Zum Transformieren Ihres Codes lädt Amazon Q Ihr Projektartefakt in einen serviceeigenen Amazon-S3-Bucket hoch. Im Rahmen des Upload-Vorgangs werden SSL- oder TLS-Zertifikate verwendet, um die Kommunikation zwischen Amazon S3 und Ihrer IDE herzustellen. Wenn Sie einen Proxy-Server verwenden, müssen die von Ihrem Proxy-Server verwendeten SSL- oder TLS-Zertifikate vertrauenswürdig sein, andernfalls kann Amazon Q Ihr Projekt nicht hochladen. 

Wenn Sie einen Fehler im Zusammenhang mit Ihrem Proxy oder Ihren Zertifikaten erhalten, müssen Sie gegebenenfalls Ihre IDE oder Ihr Betriebssystem so konfigurieren, dass es Ihren Zertifikaten vertraut, oder andere Proxy-Einstellungen aktualisieren.

**Anmerkung**  
Wenn Sie sich hinter dem Proxy-Server oder der Firewall Ihres Unternehmens befinden, treten möglicherweise auch Probleme auf, die nichts mit Zertifikaten zu tun haben. Wenn Sie die folgenden Verfahren zur Konfiguration Ihrer Zertifikate ausführen und nach wie vor Probleme auftreten, wenden Sie sich an Ihren Netzwerkadministrator, um sicherzustellen, dass Sie von Ihrer IDE aus mit Amazon S3 kommunizieren dürfen. Weitere Informationen finden Sie unter [Zulassen des Zugriffs auf Amazon S3](#allowlist-s3-bucket). 

#### Konfigurieren von Zertifikaten in JetBrains
<a name="configure-proxy-JB"></a>

Damit Sie Ihre Java-Laufzeitumgebung (JRE) der JetBrains-IDE so konfigurieren, dass sie den von Ihrem Proxy-Server verwendeten SSL- oder TLS-Zertifikaten vertraut, müssen Sie die SSL- oder TLS-Zertifikate in die Datei `cacerts` in der JRE importieren. Die Datei `cacerts` enthält vertrauenswürdige Stammzertifikate für sichere Verbindungen wie HTTPS und SSL. Sie ist Teil der JRE-Sicherheitseinstellungen. Gehen Sie wie folgt vor, um ein Zertifikat zu importieren. 

**Anmerkung**  
Wir empfehlen, vor der Änderung eine Sicherungskopie der Datei `cacerts` zu erstellen, da Fehler zu Problemen mit sicheren Verbindungen führen können.

1. Ermitteln Sie den Pfad zur Datei `cacerts` in Ihrer JRE. Der Pfad der Datei `cacerts` in der internen JRE, die im Lieferumfang Ihrer JetBrains-IDE enthalten ist, hängt vom Betriebssystem und der Version der JetBrains-IDE ab, die Sie verwenden. 

   Im Folgenden finden Sie Beispiele für Pfade zur Datei `cacerts` in gängigen Betriebssystemen. Wählen Sie Ihr Betriebssystem aus, um Beispiele zu sehen.
**Anmerkung**  
 `<JetBrains Installation Folder>` bezieht sich auf das Verzeichnis, in dem JetBrains-Produkte installiert sind. Dieses Verzeichnis wird normalerweise während des Installationsvorgangs ausgewählt.  
Der `jbr` Ordner stellt die mitgelieferte JRE dar. Dabei handelt es sich um eine spezielle Version der JRE JetBrains IDEs, die auf die Verwendung mit zugeschnitten ist. JetBrains IDEs

------
#### [ Windows ]

   Der `cacerts`-Dateipfad für eine unter Windows installierte JetBrains-IDE lautet:

   ```
   <JetBrains Installation Folder>\jbr\bin\cacerts
   ```

   Wenn Sie beispielsweise eine JetBrains-IDE unter Windows im Standardverzeichnis installiert haben, könnte der Pfad wie folgt lauten:

   ```
   C:\Program Files\JetBrains\jbr\bin\cacerts
   ```

------
#### [ macOS ]

   Der `cacerts`-Dateipfad für eine unter macOS installierte JetBrains-IDE lautet:

   ```
   /Applications/JetBrains Toolbox/<version>/JetBrains Toolbox.app/Contents/jbr/Contents/Home/lib/security/cacerts
   ```

   Wenn Sie beispielsweise eine JetBrains-IDE unter macOS im Standardverzeichnis installiert haben, könnte der Pfad wie folgt lauten:

   ```
   /Applications/JetBrains Toolbox/2022.3.4/JetBrains Toolbox.app/Contents/jbr/Contents/Home/lib/security/cacerts
   ```

------
#### [ Linux ]

   Der `cacerts`-Dateipfad für eine unter Linux installierte JetBrains-IDE lautet:

   ```
   /opt/jetbrains/jbr/lib/security/cacerts
   ```

------

1. Ermitteln Sie das Zertifikat, das Sie in die Datei `cacerts` importieren müssen. Die Zertifikatsdatei hat in der Regel die Dateierweiterung `.cer`, `.crt` oder `.der`. Wenn Sie nicht sicher sind, welche Zertifikate Sie hinzufügen müssen, wenden Sie sich an Ihren Netzwerkadministrator.

1. Importieren Sie das Zertifikat in den Keystore `cacerts`. Für diesen Vorgang können Sie den Java-Befehl `keytool` verwenden. 

   1. Öffnen Sie eine Eingabeaufforderung und geben Sie den folgenden Befehl ein:

      ```
      keytool -import -alias <alias> -file <certificate_file> -keystore <path_to_cacerts>
      ```

   1. Für `<alias>` können Sie einen Namen für das Zertifikat hinzufügen, das Sie importieren, um später darauf verweisen zu können. Diese Option ist optional.

   1. Geben Sie für `<certificate_file>` den Pfad zu dem Zertifikat an, das Sie importieren. Dies sollte ein Pfad zu der Datei `.cer`, `.crt` oder `.der` sein, die das Zertifikat enthält.

   1. Geben Sie als `<path_to_cacerts>` den Pfad zu der in Schritt 1 gespeicherten Keystore-Datei `cacerts` an. Dies ist die Datei, in die Sie das Zertifikat importieren. 

   Wenn Sie beispielsweise ein Zertifikat mit dem Namen `my_certificate.cer` in den Keystore `cacerts` der gebündelten JRE in IntelliJ IDEA unter Windows importieren möchten, und Sie dem Zertifikat den Alias `myalias` geben möchten, könnte der Befehl wie folgt lauten:

   ```
   keytool -import -alias myalias -file my_certificate.cer -keystore "C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.2\jbr\bin\cacerts"
   ```

1. Während des Importvorgangs werden Sie aufgefordert, das Keystore-Passwort einzugeben. Das Standardkennwort für den Keystore `cacerts` lautet `changeit`. 

1. Nachdem Sie den Befehl ausgeführt haben, werden Sie aufgefordert, zu bestätigen, dass Sie dem Zertifikat vertrauen. Geben Sie `yes` ein, um zu bestätigen, dass das Zertifikat vertrauenswürdig ist, und den Import abzuschließen.

1. Möglicherweise müssen Sie die Zertifikate neben der JRE auch zur IDE hinzufügen. Weitere Informationen erhalten Sie unter [Server Certificates](https://www.jetbrains.com/help/idea/settings-tools-server-certificates.html) in der JetBrains-Dokumentation.

#### Konfigurieren von Zertifikaten in Visual Studio Code
<a name="configure-proxy-VSC"></a>

Damit Visual Studio Code so konfiguriert wird, dass den von Ihrem Proxy-Server verwendeten SSL- oder TLS-Zertifikaten vertraut wird, stellen Sie sicher, dass Sie die folgenden Proxy-Einstellungen für Ihr Betriebssystem konfiguriert haben.

##### Konfigurieren von Zertifikaten in Visual Studio Code unter macOS
<a name="certs-mac"></a>

Konfigurieren Sie die folgenden Proxy-Einstellungen für Visual Studio Code unter macOS.

##### Hinzufügen von Zertifikaten zu Ihrem macOS-Schlüsselbund
<a name="w2aac11c16c17c13c23b7b9c11b5b1b5"></a>

Sie müssen die von Ihrem Proxy-Server verwendeten Zertifikate Ihrem macOS-Schlüsselbund hinzufügen, falls Sie dies noch nicht getan haben. Informationen zum Hinzufügen von Zertifikaten zu Ihrem Schlüsselbund finden Sie unter [Hinzufügen von Zertifikaten zu einem Schlüsselbund mit der Schlüsselbundverwaltung auf dem Mac](https://support.apple.com/guide/keychain-access/add-certificates-to-a-keychain-kyca2431/mac) im Benutzerhandbuch für die Schlüsselbundverwaltung.

##### Installieren Sie die Mac CA-Erweiterung VSCode
<a name="w2aac11c16c17c13c23b7b9c11b5b1b7"></a>

Die [ VSCode Mac-CA-Erweiterung](https://marketplace.visualstudio.com/items?itemName=linhmtran168.mac-ca-vscode) ermöglicht Amazon Q den Zugriff auf die Zertifikate, die Sie zu Keychain Access auf Ihrem Mac hinzugefügt haben. 

So installieren Sie die Erweiterung:

1. Suchen Sie `mac-ca-vscode` im VS Code-Erweiterungsbereich und wählen Sie **Installieren** aus. 

1. Starten Sie VS Code neu.

##### Aktualisieren der Proxy-Einstellungen in VS Code unter macOS
<a name="w2aac11c16c17c13c23b7b9c11b5b1b9"></a>

Aktualisieren Sie die folgenden Einstellungen, um sicherzustellen, dass VS Code für Ihren Proxy richtig konfiguriert sind. 

1. Öffnen Sie die Einstellungen in VS Code.

1. Geben Sie im Suchfeld `proxy` ein.

1. Fügen Sie im Feld **Http: Proxy** Ihre Proxy-URL hinzu.

1. Deaktivieren Sie **Http: Proxy Strict SSL**.

1. Wählen Sie in der Dropdown-Liste **Http: Proxy Support** die Option **on** aus.

1. Geben Sie im Suchfeld „Einstellungen“ `http.experimental.systemCertificatesV2` ein. Wählen Sie **Http › Experimental: System Certificates V2** aus. 

##### Konfigurieren von Zertifikaten in Visual Studio Code unter Windows
<a name="certs-windows"></a>

Konfigurieren Sie die folgenden Proxy-Einstellungen für Visual Studio Code unter Windows.

##### Hinzufügen des Zertifikats unter Windows als vertrauenswürdiges Stammzertifikat
<a name="w2aac11c16c17c13c23b7b9c11b5b3b5"></a>

Sie müssen die von Ihrem Proxy-Server verwendeten Zertifikate Ihrem Speicher für vertrauenswürdige Stammzertifizierungsstellen unter Windows hinzufügen, falls Sie dies noch nicht getan haben. Gehen Sie wie folgt vor, um ein Zertifikat hinzuzufügen: 

1. Öffnen Sie das Suchtool oder das Befehlsfenster „Ausführen“. 

1. Geben Sie Folgendes ein, um das Certificate-Manager-Tool zu öffnen:

   ```
   certmgr.msc
   ```

1. Wählen Sie den Speicher **Vertrauenswürdige Stammzertifizierungsstellen** aus.

1. Klicken Sie mit der rechten Maustaste auf **Zertifikate**, **Alle Aufgaben** und **Importieren …**

1. Folgen Sie den angegebenen Anweisungen, um Ihr Proxy-Zertifikat zu importieren.

1. Nachdem Sie Ihr Zertifikat importiert haben, vergewissern Sie sich, dass das Zertifikat hinzugefügt wurde. 

   Doppelklicken Sie im Speicher **Vertrauenswürdige Stammzertifizierungsstellen** auf **Zertifikate**. Klicken Sie mit der rechten Maustaste auf das hinzugefügte Zertifikat und wählen Sie **Eigenschaften** aus. Unter **Zertifikatszwecke** sollte die Option **Alle Zwecke für dieses Zertifikat aktivieren** ausgewählt sein.

##### Installieren Sie die Win-CA-Erweiterung VSCode
<a name="w2aac11c16c17c13c23b7b9c11b5b3b7"></a>

Die [ VSCode Win-CA-Erweiterung](https://marketplace.visualstudio.com/items?itemName=ukoloff.win-ca) ermöglicht Amazon Q den Zugriff auf die Zertifikate, die Sie zu Trusted Root Certificates in Windows hinzugefügt haben. 

So installieren Sie die Erweiterung:

1. Suchen Sie `win-ca ` im VS Code-Einstellungsbereich.

1. Wählen Sie in der Dropdown-Liste **Inject** die Option **Append** aus.

##### Aktualisieren der Proxy-Einstellungen in VS Code unter Windows
<a name="w2aac11c16c17c13c23b7b9c11b5b3b9"></a>

Aktualisieren Sie die folgenden Einstellungen, um sicherzustellen, dass VS Code für Ihren Proxy richtig konfiguriert sind. 

1. Öffnen Sie die Einstellungen in VS Code.

1. Geben Sie im Suchfeld `proxy` ein.

1. Fügen Sie im Feld **Http: Proxy** Ihre Proxy-URL hinzu.

1. Deaktivieren Sie **Http: Proxy Strict SSL**.

1. Wählen Sie in der Dropdown-Liste **Http: Proxy Support** die Option **on** aus.

1. Geben Sie im Suchfeld „Einstellungen“ `http.experimental.systemCertificatesV2` ein. Wählen Sie **Http › Experimental: System Certificates V2** aus. 

1. Starten Sie VS Code neu.

### Zulassen des Zugriffs auf Amazon S3
<a name="allowlist-s3-bucket"></a>

Während einer Transformation lädt Amazon Q Ihren Code in einen serviceeigenen Amazon-S3-Bucket hoch. Wenn Ihr Netzwerk oder Ihre Organisation den Zugriff auf Amazon S3 nicht konfiguriert hat, kann Amazon Q Ihr Projekt nicht hochladen. 

Damit Amazon Q Ihr Projekt hochladen kann, stellen Sie sicher, dass Ihre Proxy-Konfiguration und andere Netzwerkkomponenten, wie Data Lost Prevention (DLP)-Richtlinien, so konfiguriert sind, dass sie den Zugriff auf Amazon S3 erlauben. Es könnte sein, dass Sie auch den Amazon-S3-Bucket, in den Amazon Q Ihr Projekt hochlädt, auf die Zulassungsliste setzen müssen. Weitere Informationen finden Sie unter [Amazon S3 S3-Bucket URLs und ARNs zur Allowlist](firewall.md#data-perimeters). 

Beim Transformieren eines großen Projekts können DLP-Richtlinien oder andere Netzwerkkomponenten Verzögerungen verursachen und einen erfolgreichen Upload verhindern, wenn sie nicht so konfiguriert sind, dass sie den Amazon-S3-Bucket zulassen. Wenn Sie den Bucket nicht auf die Zulassungsliste setzen möchten, müssen Sie möglicherweise ein kleineres Projekt transformieren, damit Amazon Q es hochladen kann.

## Warum schlagen meine Maven-Befehle fehl?
<a name="maven-commands-failing"></a>

Im Folgenden sind Maven Konfigurationsprobleme aufgeführt, die möglicherweise im JetBrains und Visual Studio Code IDEs auftreten. Wenn Sie die Probleme beheben und weiterhin Maven-Fehler auftreten, liegt möglicherweise ein Problem mit Ihrem Projekt vor. Verwenden Sie die Informationen in den Fehlerprotokollen, um alle Probleme mit Ihrem Projekt zu beheben. Versuchen Sie dann erneut, Ihr Projekt zu transformieren. 

### Aktualisieren der Maven-Konfiguration in JetBrains
<a name="jetbrains"></a>

Wenn eine Transformation in JetBrains aufgrund von Maven-Befehlsproblemen fehlschlägt, werden die Fehlerprotokolle auf der Registerkarte **Ausführen** angezeigt. Verwenden Sie die Informationen in den Protokollen, um das Problem zu beheben. Im Folgenden sind einige Probleme aufgeführt, die Sie möglicherweise beheben müssen: 
+ Vergewissern Sie sich, dass Ihr Maven-Home-Pfad auf **Bundled** eingestellt ist. Erweitern Sie im Dialogfeld **Settings** den Abschnitt **Build, Execution, Deployment**. Erweitern Sie den Abschnitt **Build Tools** und dann **Maven**. Wählen Sie in der Dropdown-Liste **Maven home path** die Option **Bundled** aus. 
+ Stellen Sie sicher, dass die Java-Laufzeitumgebung (JRE) Ihr Projekt-JDK verwendet. Erweitern Sie im Dialogfeld **Settings** den Abschnitt **Build, Execution, Deployment**. Erweitern Sie **Maven** und wählen Sie **Runner** aus. Wählen Sie in der Dropdown-Liste **JRE** die Option **Use Project JDK** aus. 
+ Stellen Sie sicher, dass Maven aktiviert ist. Gehen Sie zu **Settings** und wählen Sie **Plugins** aus. Suchen Sie nach Maven und wählen Sie das Maven-Plugin aus. Wenn Sie die Schaltfläche **Aktivieren** sehen, wählen Sie sie aus, um Maven zu aktivieren. 

### Aktualisieren der Maven-Konfiguration in Visual Studio Code
<a name="vscode"></a>

Wenn eine Transformation in VS Code aufgrund von Maven-Befehlsproblemen fehlschlägt, wird eine Textdatei mit den Fehlerprotokollen auf einer neuen Registerkarte geöffnet. Verwenden Sie die Informationen in den Protokollen, um das Problem zu beheben.

Stellen Sie sicher, dass Sie eine der folgenden Optionen konfiguriert haben: 
+ Ihr Projekt enthält einen Maven Wrapper im Stammordner des Projekts.
+ Eine von Amazon Q unterstützte Maven-Version ist in Ihrem `PATH` verfügbar.

Weitere Informationen finden Sie unter [Wie füge ich Maven meinem `PATH` hinzu?](#add-maven-to-path). 

## Wie füge ich Maven meinem `PATH` hinzu?
<a name="add-maven-to-path"></a>

Wenn Sie Ihren Code in VS Code ohne Verwendung eines Maven Wrappers umwandeln möchten, müssen Sie Maven installieren und Ihrer Variablen `PATH` hinzufügen. 

Wenn Sie überprüfen möchten, ob Sie Maven bereits korrekt installiert haben, führen Sie `mvn -v` in einem neuen Betriebssystem-Terminal außerhalb von Visual Studio Code aus. Sie sollten eine Ausgabe mit Ihrer Maven-Version sehen.

Wenn Sie eine Ausgabe zwar in Ihrem Visual Studio Code-Terminal, nicht aber in Ihrem Betriebssystem-Terminal erhalten, oder wenn der Befehl nicht gefunden wird, müssen Sie Maven Ihrem `PATH` hinzufügen.

 Folgen Sie den Anweisungen für Ihr Gerät, um Maven Ihrem `PATH` hinzuzufügen.

------
#### [ macOS ]

Führen Sie die folgenden Schritte aus, um Maven Ihrem macOS `PATH` hinzuzufügen.

1. Suchen Sie Ihr Maven-Installationsverzeichnis oder den Ordner, in dem Sie Maven installiert haben, und speichern Sie den Pfad zu diesem Ordner.

1. Öffnen Sie die Konfigurationsdatei für Ihre Shell in einem Editor Ihrer Wahl. Für aktuelle macOS-Versionen ist die Standard-Shell `zsh` und die Standardkonfigurationsdatei befindet sich unter `~/.zshrc`. 

   Fügen Sie die folgenden Zeilen am Ende der Konfigurationsdatei hinzu. Stellen Sie den Wert `M2_HOME` auf den Pfad ein, den Sie in Schritt 1 gespeichert haben:

   ```
   export M2_HOME="your Maven installation directory"
   export PATH="${M2_HOME}/bin:${PATH}"
   ```

   Diese Befehle machen den Befehl `mvn` in allen Terminals verfügbar.

1. Schließen Sie alle Betriebssystem-Terminalfenster und beenden Sie alle Instances von Visual Studio Code.

1. Öffnen Sie ein neues Betriebssystem-Terminal und führen Sie den folgenden Befehl aus, um zu überprüfen, ob Maven Ihrem `PATH` hinzugefügt wurde:

   ```
   mvn -v
   ```

   Sie sollten eine Ausgabe mit Ihrer Maven-Version sehen.

1. Nachdem Sie Ihre Maven-Ausgabe gesehen haben, starten Sie Visual Studio Code neu. Es kann sein, dass Sie auch Ihren Computer neu starten müssen. Öffnen Sie ein neues Terminal von Visual Studio Code und führen Sie den folgenden Befehl aus: 

   ```
   mvn -v
   ```

   Die Ausgabe sollte mit der Ausgabe in Schritt 4 identisch sein. Wenn die Ausgabe von Visual Studio Code abweicht, versuchen Sie Folgendes, um sicherzustellen, dass Ihre Konfiguration korrekt ist:
   + Überprüfen Sie Ihre `PATH`-Variable in Visual Studio Code. Eine IDE-Erweiterung ändert die `PATH`-Variable möglicherweise so, dass sie sich von Ihrer lokalen `PATH`-Variable unterscheidet. Deinstallieren Sie die Erweiterung, um sie aus Ihrem `PATH` zu entfernen.
   + Überprüfen Sie Ihre Standard-Shell in Visual Studio Code. Wenn sie auf einen anderen Wert als `zsh` eingestellt ist, wiederholen Sie diese Schritte für Ihre Shell.

------
#### [ Windows ]

Führen Sie die folgenden Schritte aus, um Maven Ihrem `PATH` unter Windows hinzuzufügen: 

1. Suchen Sie Ihr Maven-Installationsverzeichnis oder den Ordner, in dem Sie Maven installiert haben, und speichern Sie den Pfad zu diesem Ordner.

1. Öffnen Sie das Fenster „Umgebungsvariablen“:

   1. Wählen Sie die Schaltfläche Windows, um die Suchleiste zu öffnen.

   1. Geben Sie `Edit environment variables for your account` ein und klicken Sie darauf.

1. Suchen Sie im Fenster **Umgebungsvariablen** nach der PATH-Variablen. Wenn Sie bereits eine PATH-Variable vorliegen haben, wählen Sie **Bearbeiten ...** aus, um sie zu aktualisieren. Wenn Sie keine PATH-Variable sehen, wählen Sie **Neu ...** aus, um eine hinzuzufügen. 

1. Doppelklicken Sie im daraufhin angezeigten Fenster **Umgebungsvariable bearbeiten** auf den vorhandenen Pfad, um ihn zu bearbeiten, oder wählen Sie **Neu** aus, um einen neuen Pfadeintrag hinzuzufügen.

   Ersetzen Sie den vorhandenen Maven-Pfadeintrag durch den Pfad, den Sie in Schritt 1 gespeichert haben, oder fügen Sie den Pfad als neuen Eintrag hinzu. Fügen Sie am Ende des Pfads `\bin` als Suffix hinzu, wie im folgenden Beispiel gezeigt:

   ```
   C:\Users\yourusername\Downloads\apache-maven-3.9.6-bin\apache-maven-3.9.6\bin
   ```

1. Wählen Sie **OK** aus, um den Pfadeintrag zu speichern, und klicken Sie dann im Fenster **Umgebungsvariablen** erneut auf **OK**.

1. Öffnen Sie eine Eingabeaufforderung und führen Sie den folgenden Befehl aus:

   ```
   mvn -v
   ```

   Sie sollten eine Ausgabe mit Ihrer Maven-Version sehen.

------

## Warum kann Amazon Q meinen Code nicht erstellen?
<a name="build-fail"></a>

Wenn die Transformation fehlschlägt, während Amazon Q Ihren Code erstellt, ist Ihr Projekt möglicherweise nicht richtig für die Umgebung konfiguriert, in der Amazon Q den Code generiert. Möglicherweise müssen Sie Ihre Build-Konfiguration oder Code-Implementierung aktualisieren.

Prüfen Sie die Build-Protokollausgabe, die Amazon Q bereitstellt, um festzustellen, ob es Änderungen gibt, die Sie an Ihrem Projekt vornehmen können. Im Folgenden sind einige häufig auftretende Probleme aufgeführt, die Amazon Q daran hindern können, Ihren Code zu erstellen. 

### Entfernen absoluter Pfade in pom.xml
<a name="remove-absolute-path"></a>

Wenn Sie einen absoluten Pfad in Ihrer Datei pom.xml vorliegen haben, kann Amazon Q die entsprechenden Dateien nicht finden und Ihren Code daher möglicherweise nicht erstellen.

Im Folgenden finden Sie ein Beispiel für einen absoluten Pfad, den Sie in Ihrer Datei `pom.xml` vorliegen haben könnten:

```
<toolspath>
    <path>/Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home/lib/tools.jar</path>
</toolspath>
```

Anstatt einen absoluten Pfad zu verwenden, können Sie mit einem Zeiger einen relativen Pfad erstellen. Im Folgenden finden Sie ein Beispiel dafür, wie Sie den vorherigen absoluten Pfad durch einen relativen Pfad ersetzen können:

```
<toolspath>
    <path>${java.home}/../lib/tools.jar</path>
</toolspath>
```

### Entfernen lokaler oder externer Datenbanken in Modultests
<a name="remove-external-databases"></a>

Amazon Q führt alle Modultests in Ihrem Projekt durch, wenn es Ihren Code erstellt. Wenn ein Modultest eine lokale oder externe Datenbank aufruft, hat Amazon Q keinen Zugriff auf die Datenbank, sodass der Build fehlschlägt. Wenn Sie verhindern möchten, dass der Build fehlschlägt, müssen Sie entweder den Datenbankaufruf aus dem Modultest entfernen oder den Modultest entfernen, bevor Sie die Transformation absenden. 

## Warum ist meine Transformation nach 55 Minuten fehlgeschlagen?
<a name="build-time-limit"></a>

Wenn Ihr Codetransformationsauftrag nach 55 Minuten fehlschlägt, überschreitet Ihre Codeerstellungszeit wahrscheinlich das Build-Zeitlimit. Derzeit gibt es ein Zeitlimit von 55 Minuten für die Erstellung Ihres Codes. 

Wenn Ihre lokale Build-Zeit 55 Minuten oder länger dauert, reduzieren Sie die Build-Zeit Ihres Projekts, um Ihren Code zu transformieren. Wenn Ihr lokaler Build schneller ist als der Build mit Codetransformation, überprüfen Sie Ihr Projekt auf Aufgaben, die in einer anderen Umgebung möglicherweise fehlschlagen oder länger dauern. Erwägen Sie, Testfälle mit langer Laufzeit zu deaktivieren. Ziehen Sie auch in Betracht, Timeouts für Versuche zu verwenden, auf Ressourcen zuzugreifen, die in der sicheren IDE-Umgebung oder im Internet möglicherweise nicht verfügbar sind. 

## Warum kann ich meinen transformierten Code nicht herunterladen?
<a name="download-code-fail"></a>

Wenn Sie Ihren Code nach Abschluss der Transformation nicht herunterladen können, liegt dies wahrscheinlich an einem der folgenden Probleme. Sehen Sie sich das Thema an, das dem Fehler entspricht, den Sie von Amazon Q erhalten haben. 

**Topics**
+ [

### Reduzierung der Projektgröße
](#reduce-project-size-output)
+ [

### Herunterladen der Code-Diff-Datei innerhalb von 30 Tagen
](#download-30-hrs)
+ [

### Konfigurieren der Proxy-Einstellungen in Ihrer IDE
](#configure-proxy-download)
+ [

### Entfernen von Platzhalterzeichen in den JetBrains-Proxy-Einstellungen
](#remove-wildcard)

### Reduzierung der Projektgröße
<a name="reduce-project-size-output"></a>

Nach Abschluss der Transformation generiert Amazon Q ein Ausgabeartefakt, das eine Diff-Datei für Ihren aktualisierten Code und eine Transformationszusammenfassung mit Informationen zu den vorgenommenen Änderungen enthält. Das Ausgabeartefakt muss 1 GB oder kleiner sein, damit die IDE es herunterladen kann. 

Wenn das Ausgabeartefakt das Limit überschreitet, können Sie Ihren aktualisierten Code oder die Transformationszusammenfassung nicht herunterladen. Versuchen Sie, ein kleineres Projekt zu transformieren, um ein großes Ausgabeartefakt zu vermeiden. Wenn das Problem weiterhin besteht, wenden Sie sich an Support. Informationen zur Kontaktaufnahme Support mit Amazon Q finden Sie unter[Verwenden von Amazon Q Developer zum Chatten mit Support](support-chat.md).

### Herunterladen der Code-Diff-Datei innerhalb von 30 Tagen
<a name="download-30-hrs"></a>

Die Code-Diff-Datei mit Ihrem aktualisierten Code ist nach Abschluss der Transformation nur 30 Tage lang verfügbar. Wenn seit Abschluss der Transformation mehr als 30 Tage vergangen sind, starten Sie die Transformation neu, um die Diff-Datei herunterzuladen.

### Konfigurieren der Proxy-Einstellungen in Ihrer IDE
<a name="configure-proxy-download"></a>

Amazon Q lädt Ihren aktualisierten Code von einem serviceeigenen Amazon-S3-Bucket herunter. Im Rahmen des Download-Vorgangs werden SSL- oder TLS-Zertifikate verwendet, um die Kommunikation zwischen Amazon S3 und Ihrer IDE herzustellen. Wenn Sie einen Proxy-Server verwenden, müssen die von Ihrem Proxy-Server verwendeten SSL- oder TLS-Zertifikate vertrauenswürdig sein, andernfalls kann Amazon Q Ihr Projekt nicht hochladen.

Damit Sie Ihren Code herunterladen können, müssen Sie möglicherweise Ihre IDE so konfigurieren, dass sie Zertifikaten vertraut, oder andere Proxy-Einstellungen aktualisieren. Weitere Informationen zum Aktualisieren Ihrer Proxy-Einstellungen finden Sie unter [Konfigurieren der Proxy-Einstellungen in Ihrer IDE](#configure-proxy).

### Entfernen von Platzhalterzeichen in den JetBrains-Proxy-Einstellungen
<a name="remove-wildcard"></a>

Wenn Sie Proxy-Einstellungen in Ihrer JetBrains-IDE konfiguriert haben, wird beim Herunterladen Ihres aktualisierten Codes möglicherweise der folgende Fehler angezeigt: 

```
software.amazon.awssdk.core.exception.SdkClientException: 
Unable to execute HTTP request: Dangling meta character '*' near index 0
```

Dies wird wahrscheinlich durch das Vorhandensein eines Platzhalterzeichens (\$1) im Feld **Kein Proxy für** in den Proxy-Einstellungen Ihrer IDE verursacht. Das von Amazon Q verwendete Java-SDK unterstützt keine Platzhaltereinträge in diesem Feld. 

Damit Sie Ihren Code herunterladen können, entfernen Sie alle Platzhalter aus dem Feld **Kein Proxy für** und starten Ihre IDE neu. Wenn Sie Hosts angeben müssen, die den Proxy umgehen sollen, verwenden Sie einen regulären Ausdruck anstelle eines Platzhalters. Informationen zum Aktualisieren der Proxyeinstellungen in Ihrer JetBrains IDE finden Sie in der JetBrains Dokumentation unter [HTTP-Proxy](https://www.jetbrains.com/help/idea/settings-http-proxy.html).

## Wie greife ich auf Code-Transformationsprotokolle zu?
<a name="logs"></a>

### Zugreifen auf Protokolle in JetBrains
<a name="jetbrains-logs"></a>

Informationen zum Zugreifen auf JetBrains-Protokolldateien finden Sie unter [Locating IDE log files](https://intellij-support.jetbrains.com/hc/en-us/articles/207241085-Locating-IDE-log-files) in der JetBrains-Dokumentation. 

Wenn Sie von Amazon Q ausgegebene Protokolle in JetBrains finden möchten, suchen Sie in den IDE-Protokollen nach der folgenden Zeichenfolge:

```
software.aws.toolkits.jetbrains.services.codemodernizer
```

Codetransformationsprotokolle beginnen mit der vorhergehenden Zeichenfolge. Von Maven generierte Protokolle werden auf der Registerkarte **Ausführen** angezeigt und enthalten die vorangegangene Zeichenfolge vor und nach dem Protokolleintrag. 

### Zugreifen auf Protokolle in Visual Studio Code
<a name="vsc-logs"></a>

Führen Sie die folgenden Schritte aus, um die von Amazon Q ausgegebenen Protokolle in VS Code zu finden:

1. Wählen Sie in der oberen Navigationsleiste **View** und anschließend **Command Palette** aus.

1. Suchen Sie `Amazon Q: View Logs` in der angezeigten Befehlspalette.

1. Die Protokolle werden in der IDE geöffnet. Verwenden Sie `CMD + F` oder `Control + F`, um in den Protokolldateien nach `CodeTransformation` zu suchen. 

Codetransformationsprotokolle in VS Code haben das Präfix `CodeTransformation:`. Im Folgenden finden Sie ein Beispiel für ein Protokoll in VS Code, das aufgrund eines Maven-Fehlers beim Kopieren von Abhängigkeiten generiert wurde:

```
2024-02-12 11:29:16 [ERROR]: CodeTransformation: Error in running Maven copy-dependencies command mvn = /bin/sh: mvn: command not found
```

## Wie finde ich meine Transformationsauftrags-ID?
<a name="job-id"></a>

### Suchen Ihrer Auftrags-ID in JetBrains
<a name="jetbrains"></a>

Wenn Sie eine Transformationsauftrags-ID in JetBrains suchen, gehen Sie im **Transformation Hub** zur Registerkarte **Transformation details** und wählen Sie das Symbol **Jobstatus anzeigen** (Uhr) aus. 

### Suchen Ihrer Auftrags-ID in Visual Studio Code
<a name="vs-code"></a>

Wenn Sie eine Transformationsauftrags-ID in VS Code suchen, gehen Sie zum **Transformation Hub** und wählen Sie das Symbol **Jobstatus anzeigen** (Uhr) aus. 