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à.
In che modo Amazon Q Developer trasforma il codice per gli aggiornamenti del linguaggio Java
Per trasformare il codice, Amazon Q Developer genera un piano di trasformazione che utilizza per aggiornare la versione in linguaggio di codice del progetto. Dopo aver trasformato il codice, fornisce un riepilogo della trasformazione e una differenza di file per consentirti di esaminare le modifiche prima di accettarle. 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. Le seguenti sezioni forniscono maggiori dettagli su come Amazon Q esegue la trasformazione.
Creazione del codice e creazione di un piano di trasformazione
Per iniziare a trasformare il codice, Amazon Q crea il progetto localmente e genera un elemento di compilazione che contiene il codice sorgente, le dipendenze del progetto e i log di compilazione.
Dopo aver generato l'elemento di build, Amazon Q crea il codice in un ambiente di compilazione sicuro e crea un piano di trasformazione personalizzato in base al progetto o al modulo che stai aggiornando. Il piano di trasformazione delinea le modifiche specifiche che Amazon Q tenterà di apportare, tra cui nuove versioni di dipendenza, importanti modifiche al codice e sostituzioni suggerite per il codice obsoleto. Queste modifiche si basano sulla compilazione preliminare del codice e potrebbero cambiare durante la trasformazione.
Trasformazione del codice
Per trasformare il codice, Amazon Q tenta di aggiornarlo alla versione Java di destinazione in base alle modifiche proposte nel piano di trasformazione. Man mano che apporta modifiche, ricostruisce ed esegue i test unitari esistenti nel codice sorgente per correggere in modo iterativo eventuali errori riscontrati. L'aggiornamento JDK può essere effettuato dalla seguente versione del codice sorgente alla versione di destinazione:
-
Da Java 8 a 17
-
Java da 8 a 21
-
Java da 11 a 17
-
Java da 11 a 21
-
Java da 17 a 21
Amazon Q apporta le modifiche minime necessarie per rendere il codice compatibile con la versione Java di destinazione. Dopo aver eseguito correttamente l'aggiornamento a Java 17 o 21. Una volta che Amazon Q ha eseguito un upgrade 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 tenta di apportare le seguenti modifiche durante l'aggiornamento del codice:
-
Aggiorna i componenti del codice obsoleti in base ai consigli sulla versione Java di destinazione
-
Aggiorna le librerie e i framework più diffusi a una versione compatibile con la versione Java di destinazione. Ciò include l'aggiornamento delle seguenti librerie e framework alle ultime versioni principali disponibili:
-
Apache Commons IO
-
Apache HttpClient
-
bc-fips
-
Cetriolo-JVM
-
Ibernazione
-
jackson-annotations
-
Jakarta Aee
-
Javax
-
javax.servlet
-
jaxb-api
-
jaxb-impl
-
jaxen
-
jcl-over-slf4j
-
json semplice
-
jsr305
-
unità
-
junit-jupiter-api
-
Log4j
-
Micronauta
-
Mockito
-
mockito-core
-
Okio
-
PowerMockito
-
Quarkus
-
slf4j
-
slf4j-api
-
Stivale a primavera
-
Struttura primaverile
-
Sicurezza primaverile
-
spavalderia
-
test
-
Nota
Non spegnete o chiudete il computer locale durante la trasformazione del codice perché la compilazione lato client richiede una connessione di rete stabile.
Creazione di codice nel tuo ambiente locale
Durante una trasformazione, Amazon Q esegue build di verifica nel tuo ambiente locale. Amazon Q trasforma il codice sul lato server in più passaggi. Dopo ogni passaggio, Amazon Q invia il codice al tuo ambiente locale per creare e testare le modifiche apportate. Il codice viene quindi rispedito al lato server per continuare la trasformazione.
La build nel tuo ambiente locale aiuta a verificare il codice trasformato consentendo ad Amazon Q di eseguire test che richiedono l'accesso a risorse private. Per ridurre al minimo i rischi di sicurezza associati alla creazione di codice generato dall'intelligenza artificiale nel tuo ambiente locale, Amazon Q esamina e aggiorna il codice generato per risolvere i problemi di sicurezza.
Revisione del riepilogo della trasformazione e accettazione delle modifiche
Una volta completata la trasformazione, Amazon Q fornisce un riepilogo della trasformazione con dettagli sulle modifiche apportate, incluso lo stato della build finale che indica se l'intero progetto è stato aggiornato. Puoi anche visualizzare un riepilogo del registro di compilazione per comprendere eventuali problemi che hanno impedito ad Amazon Q di creare il codice nella versione aggiornata.
Il riepilogo della trasformazione include inoltre le differenze tra le modifiche proposte nel piano di trasformazione e le modifiche apportate da Amazon Q alla fine per aggiornare il codice, nonché eventuali modifiche aggiuntive non incluse nel piano originale.
Dopo aver esaminato il riepilogo della trasformazione, puoi visualizzare le modifiche proposte da Amazon Q in una visualizzazione differenziale dei file. Qualsiasi modifica al codice suggerita da Amazon Q non influirà sui file di progetto correnti finché non accetti le modifiche. Il codice trasformato è disponibile fino a 30 giorni dopo il completamento della trasformazione.
Completamento di trasformazioni parzialmente riuscite
A seconda della complessità e delle specifiche della base di codice, potrebbero esserci casi in cui la trasformazione è parzialmente riuscita. Ciò significa che Amazon Q è stato in grado di trasformare solo determinati file o aree di codice del tuo progetto. In questo caso, devi aggiornare manualmente il codice rimanente affinché il progetto sia compilabile nella versione linguistica aggiornata.
Per aiutarti a trasformare il resto del codice, puoi usare la chat di Amazon Q nell'IDE. Puoi chiedere ad Amazon Q di esaminare i file parzialmente aggiornati e fornire nuovo codice per risolvere problemi, come gli errori di compilazione. Puoi anche utilizzare funzionalità come /deve @workspaceincludere più parti del tuo progetto come contesto e ricevere suggerimenti per più file contemporaneamente.