Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Aggiornamento delle versioni Java con Amazon Q Developer
Amazon Q Developer può aggiornare le applicazioni Java a versioni di linguaggio più recenti nell’ambiente di sviluppo integrato (IDE). Le modifiche che Amazon Q può apportare per aggiornare il codice includono l'aggiornamento di componenti di codice obsoleti e APIs l'aggiornamento di librerie, framework e altre dipendenze nel codice.
Per trasformare il codice, Amazon Q anzitutto lo scrive nella versione del linguaggio di origine e verifica di avere le informazioni necessarie per eseguire la trasformazione. Dopo che Amazon Q ha trasformato correttamente il codice, puoi verificare e accettare le modifiche nel tuo IDE. Poiché Amazon Q Developer apporta le modifiche minime necessarie per rendere il codice aggiornato compatibile con il JDK di destinazione, è necessaria un’ulteriore trasformazione per aggiornare le librerie e le dipendenze del progetto. Per ulteriori informazioni su come Amazon Q trasforma il codice, consulta Come Amazon Q Developer trasforma il codice per gli aggiornamenti del linguaggio Java.
Argomenti
Aggiornamenti Java supportati e IDEs
Amazon Q attualmente supporta le seguenti versioni del codice sorgente Java e delle versioni di destinazione per le trasformazioni. La trasformazione del codice nella stessa versione di Java include l’aggiornamento delle librerie e di altre dipendenze nella versione del codice sorgente.
| Versione del codice sorgente | Versioni supportate per la destinazione |
|---|---|
| Java 8 | Java 17 e Java 21 |
| Java 11 | Java 17 e Java 21 |
| Java 17 | Java 17 e Java 21 |
| Java 21 |
Java21 |
Amazon Q supporta gli aggiornamenti Java nei seguenti casi: IDEs
-
Moduli in JetBrains IDEs
-
Progetti e spazi di lavoro in Visual Studio Code
Fase 1: prerequisiti
Prima di continuare, assicurati di aver completato le fasi in Configurazione di Amazon Q nell’IDE in uso.
Prima di iniziare un processo di trasformazione del codice, verifica che siano soddisfatti i seguenti requisiti preliminari:
-
Il tuo progetto è scritto in una versione di Java supportata ed è basato su Maven.
-
Il tuo progetto viene creato correttamente in Maven nel tuo IDE. Maven 3.8 o versioni successive è attualmente supportato.
-
Il codice sorgente JDK del progetto è disponibile localmente e rappresenta la versione del codice sorgente. Ad esempio, se stai trasformando il codice Java 8, l’installazione JDK locale dovrebbe essere JDK 8.
-
Il progetto viene creato in 55 minuti o meno.
-
Il progetto è configurato correttamente e viene specificata la versione JDK corretta. Per ulteriori informazioni, consulta Fase 2: configurare il progetto.
-
Il progetto non richiede l’accesso alle risorse sulla rete privata, compresi un cloud privato virtuale (VPC) o una rete on-premises. Ad esempio, se il progetto contiene test di unità che si connettono a un database della rete, la trasformazione avrà esito negativo.
-
Il progetto non utilizza plugin che impacchettano linguaggi diversi da Java nel progetto Java. Ad esempio, se il progetto utilizza il codice front-end frontend-maven-plugin
per eseguire il JavaScript codice front-end oltre al codice sorgente Java, la trasformazione avrà esito negativo. -
La rete locale consente il caricamento sul bucket Amazon S3 che Amazon Q utilizza per trasformare il codice. Per ulteriori informazioni, consulta Allow access to Amazon S3 buckets in data perimeters.
-
L’applicazione utilizza solo caratteri UTF-8. Se l’applicazione utilizza caratteri non UTF-8, Amazon Q tenterà comunque di trasformare il codice.
Fase 2: configurare il progetto
Per configurare il progetto, utilizza le seguenti informazioni per l’IDE che stai utilizzando.
Configurare un progetto in JetBrains
Per configurare il progetto in JetBrains, potrebbe essere necessario specificare le seguenti impostazioni del progetto e del modulo.
Se i moduli utilizzano lo stesso JDK e lo stesso livello di linguaggio del progetto, non è necessario aggiornare le impostazioni del modulo.
-
SDK del progetto: il JDK utilizzato per compilare il progetto.
-
Livello del linguaggio di progetto: la versione di Java utilizzata nel progetto.
-
SDK del modulo: il JDK utilizzato per compilare il modulo.
-
Livello del linguaggio del modulo: la versione di Java utilizzata nel modulo.
-
Maven Runner JRE: il JDK con cui crei il modulo.
Aggiornare le impostazioni del progetto e del modulo
Per aggiornare l’SDK e le impostazioni del livello di linguaggio per il progetto o il modulo, completa le seguenti fasi:
-
Dall’IDE JetBrains, scegli File e quindi Struttura del progetto.
-
Viene visualizzata la finestra di dialogo Struttura del progetto. In Impostazioni progetto, scegli Progetto.
-
Per aggiornare il progetto JDK, scegli dall’elenco a discesa accanto a SDK.
-
Per aggiornare la lingua del progetto, scegli dal menu a discesa accanto a Livello linguaggio.
-
-
In Project Settings (Impostazioni progetto), scegliere Modules (Moduli).
-
Per aggiornare il modulo JDK, scegli dall’elenco a discesa accanto a SDK.
-
Per aggiornare la lingua del modulo, scegli dal menu a discesa accanto a Livello linguaggio.
-
Per ulteriori informazioni, consulta Project structure settings
Aggiornare le impostazioni di Maven
Per aggiornare l’ambiente Maven Runner JRE completa le fasi seguenti.
-
Dall’IDE di JetBrains, scegli l’icona a forma di ingranaggio, quindi scegli Impostazioni nel menu visualizzato.
-
Nella finestra Impostazioni, scegli Creazione, esecuzione, implementazione, quindi Strumenti di creazione, Maven e infine Runner.
-
Nel campo JRE, scegli il JDK utilizzato per creare il modulo che stai trasformando.
Configurare un progetto in VS Code
Per configurare il progetto in VS Code, il progetto deve contenere quanto segue:
-
Un file
pom.xmlnella cartella root del progetto -
Un file
.javanella directory del progetto
Se il progetto contiene un wrapper eseguibile Maven (mvnw per macOS o mvnw.cmd per Windows), assicurati che sia alla root del progetto. Amazon Q utilizzerà il wrapper e non sono necessarie altre configurazioni Maven.
Se non utilizzi un wrapper Maven, installa Maven. Per ulteriori informazioni, consulta Installing Apache
Maven
Una volta installato Maven, aggiungilo alla variabile PATH. Per ulteriori informazioni, consulta Come faccio ad aggiungere Maven al mio PATH? Inoltre, la variabile runtime di Java dovrebbe puntare a un JDK e non a un JRE. Per confermare che la configurazione sia corretta, esegui mvn -v. L’output dovrebbe mostrare la versione Maven e la variabile di runtime che punta al percorso del JDK.
Fase 3: creazione di un file di aggiornamento delle dipendenze (facoltativo)
Puoi fornire ad Amazon Q un file di aggiornamento delle dipendenze, un file YAML che elenca le dipendenze del progetto e le versioni a cui eseguire l’aggiornamento durante una trasformazione. Fornendo un file di aggiornamento delle dipendenze, puoi specificare dipendenze di terze e prime parti che Amazon Q potrebbe altrimenti non conoscere per aggiornare.
Le dipendenze di prime parti si riferiscono alle librerie, ai plugin e ai framework gestiti dall’organizzazione e sono disponibili solo localmente o sulla rete privata dell’organizzazione. Amazon Q è in grado di accedere alle dipendenze proprietarie quando esegue le build nell’ambiente locale. Per ulteriori informazioni, consulta Compilazione del codice nell’ambiente locale. Le dipendenze di terze parti sono disponibili pubblicamente o sono dipendenze open source che non sono esclusive della tua organizzazione.
Puoi specificare le dipendenze di prime parti che desideri aggiornare in un file YAML e Amazon Q le aggiorna durante l’aggiornamento JDK (ad esempio, da Java 8 a 17). Puoi avviare una trasformazione separata (da 17 a 17 o da 21 a 21) dopo l’aggiornamento iniziale di JDK per aggiornare le dipendenze di terze parti.
Una volta che Amazon Q ha eseguito un aggiornamento JDK minimo, puoi avviare una trasformazione separata per aggiornare tutte le dipendenze di terze parti. In alternativa, puoi specificare le dipendenze di terze parti e le relative versioni in un file YAML per aggiornare tali dipendenze solo durante la trasformazione dell’aggiornamento della libreria.
Amazon Q ti chiederà di fornire un file di aggiornamento delle dipendenze durante la trasformazione. Se desideri fornirne uno, assicurati innanzitutto di aver configurato correttamente il file. Nel file YAML sono obbligatori i seguenti campi:
-
name - Il nome del file di aggiornamento delle dipendenze.
-
description (facoltativo) - Una descrizione del file di aggiornamento delle dipendenze e per quale trasformazione.
-
dependencyManagement - Contiene l’elenco delle dipendenze e dei plugin da aggiornare.
-
dependencies - Contiene il nome e la versione delle librerie da aggiornare.
-
plugins - Contiene i nomi e le versioni dei plugin da aggiornare.
-
identifier - Il nome della libreria, del plugin o di un’altra dipendenza.
-
targetVersion - La versione della dipendenza a cui eseguire l’aggiornamento.
-
versionProperty (facoltativo) - La versione della dipendenza che stai definendo, impostata con il tag
propertiesnel filepom.xmldell’applicazione. -
originType - Indica se la dipendenza è di prima o terza parte, specificata da FIRST_PARTY o THIRD_PARTY.
Di seguito è riportato un esempio di file YAML per l’aggiornamento delle dipendenze e la configurazione richiesta per l’analisi di Amazon Q:
name: dependency-upgrade description: "Custom dependency version management for Java migration from JDK 8/11/17 to JDK 17/21" dependencyManagement: dependencies: - identifier: "com.example:library1" targetVersion: "2.1.0" versionProperty: "library1.version" # Optional originType: "FIRST_PARTY" - identifier: "com.example:library2" targetVersion: "3.0.0" originType: "THIRD_PARTY" plugins: - identifier: "com.example.plugin" targetVersion: "1.2.0" versionProperty: "plugin.version" # Optional originType: "THIRD_PARTY"
Fase 4: trasformazioni di codice
Per testare la configurazione IDE, scarica e decomprimi il progetto di esempio e completa le fasi seguenti per l’IDE. Se riesci a visualizzare le modifiche proposte e il riepilogo delle trasformazioni, è tutto pronto per trasformare il tuo progetto di codice. Se la trasformazione no riesce, l’IDE non è configurato correttamente. Per risolvere i problemi di configurazione, consulta Fase 2: configurare il progetto e Risoluzione dei problemi.
Nota
Non spegnere, chiudere o mettere in standby il computer locale durante la trasformazione del codice. Le build iniziali e di convalida utilizzano l’ambiente lato client, che richiede una connessione di rete stabile.
Completa la procedura seguente per l’IDE per aggiornare la versione di linguaggio del codice di progetto o modulo di codice.