Comment Amazon Q Developer transforme le code pour les mises à niveau du langage Java - Amazon Q Developer

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Comment Amazon Q Developer transforme le code pour les mises à niveau du langage Java

Pour transformer votre code, Amazon Q Developer génère un plan de transformation qu'il utilise pour mettre à niveau la version en langage de code de votre projet. Après avoir transformé votre code, il fournit un résumé de la transformation et un fichier diff pour que vous puissiez examiner les modifications avant de les accepter. Amazon Q Developer apportant les modifications minimales nécessaires pour rendre votre code mis à niveau compatible avec le JDK cible, une transformation supplémentaire est nécessaire pour mettre à niveau les bibliothèques et les dépendances de votre projet. Les sections suivantes fournissent plus de détails sur la manière dont Amazon Q effectue la transformation.

Création de votre code et création d'un plan de transformation

Pour commencer à transformer votre code, Amazon Q crée votre projet localement et génère un artefact de compilation contenant votre code source, les dépendances du projet et les journaux de compilation.

Après avoir généré l'artefact de génération, Amazon Q crée votre code dans un environnement de génération sécurisé et crée un plan de transformation personnalisé en fonction du projet ou du module que vous mettez à niveau. Le plan de transformation décrit les modifications spécifiques qu'Amazon Q tentera d'apporter, notamment les nouvelles versions de dépendance, les modifications majeures du code et les suggestions de remplacement du code obsolète. Ces modifications sont basées sur la version préliminaire de votre code et peuvent changer au cours de la transformation.

Transformation de votre code

Pour transformer votre code, Amazon Q tente de le mettre à niveau vers la version Java cible en fonction des modifications proposées dans le plan de transformation. Au fur et à mesure qu'il apporte des modifications, il reconstruit et exécute des tests unitaires existants dans votre code source pour corriger de manière itérative les erreurs rencontrées. La mise à niveau du JDK peut être effectuée à partir de la version de code source suivante vers la version cible :

  • Java 8 à 17

  • Java 8 à 21

  • Java 11 à 17

  • Java 11 à 21

  • Java 17 à 21

Amazon Q apporte les modifications minimales nécessaires pour rendre votre code compatible avec la version Java cible. Après une mise à niveau réussie vers Java 17 ou 21. Une fois qu'Amazon Q a effectué une mise à niveau minimale du JDK, vous pouvez lancer une transformation distincte pour mettre à niveau toutes les dépendances tierces. Vous pouvez également spécifier les dépendances tierces et leurs versions dans un fichier YAML pour ne mettre à niveau ces dépendances que lors de la transformation de mise à niveau de la bibliothèque.

Amazon Q tente d'apporter les modifications suivantes lors de la mise à niveau de votre code :

  • Mettre à jour les composants de code obsolètes conformément aux recommandations de la version Java cible

  • Mettez à niveau les bibliothèques et les frameworks populaires vers une version compatible avec la version Java cible. Cela inclut la mise à jour des bibliothèques et frameworks suivants vers leurs dernières versions majeures disponibles :

    • API Apache Commons

    • Apache HttpClient

    • bc-fips

    • Cucumber-JVM

    • Mise en veille prolongée

    • jackson-annotations

    • Île de Jakarta

    • Javax

    • javax.servlet

    • jaxb-api

    • jaxb-impl

    • jaxen

    • jcl-over-slf4j

    • jon-simple

    • jsr305

    • unité

    • junit-jupiter-api

    • Log4j

    • Micronaute

    • Mockito

    • mockito-core

    • Okio

    • PowerMockito

    • Quarkus

    • slf4j

    • slf4j-api

    • Botte à ressort

    • Cadre à ressort

    • Sécurité printanière

    • Swagger

    • testng

Note

N'éteignez pas ou ne fermez pas votre machine locale pendant la transformation du code, car la compilation côté client nécessite une connexion réseau stable.

Code du bâtiment dans votre environnement local

Au cours d'une transformation, Amazon Q effectue des versions de vérification dans votre environnement local. Amazon Q transforme votre code côté serveur en plusieurs étapes. Après chaque étape, Amazon Q envoie le code à votre environnement local pour créer et tester les modifications apportées. Le code est ensuite renvoyé au serveur pour poursuivre la transformation.

La version intégrée à votre environnement local permet de vérifier le code transformé en permettant à Amazon Q d'exécuter des tests qui nécessitent l'accès à des ressources privées. Afin de minimiser les risques de sécurité associés à la création de code généré par l'IA dans votre environnement local, Amazon Q examine et met à jour le code généré afin de résoudre les problèmes de sécurité.

Consulter le résumé de la transformation et accepter les modifications

Une fois la transformation terminée, Amazon Q fournit un résumé de la transformation avec des détails sur les modifications apportées, y compris le statut de la version finale qui indique si l'ensemble de votre projet a été mis à niveau. Vous pouvez également consulter un résumé du journal de construction pour comprendre les problèmes qui ont empêché Amazon Q de créer votre code dans la version mise à niveau.

Le résumé de la transformation inclut également les différences entre les modifications proposées dans le plan de transformation et les modifications finalement apportées par Amazon Q pour mettre à niveau votre code, ainsi que toutes les modifications supplémentaires qui ne figuraient pas dans le plan d'origine.

Après avoir examiné le résumé de la transformation, vous pouvez consulter les modifications proposées par Amazon Q dans une vue de comparaison des fichiers. Les modifications de code suggérées par Amazon Q n'affecteront pas les fichiers de votre projet en cours tant que vous n'aurez pas accepté les modifications. Le code transformé est disponible jusqu'à 30 jours après la fin de la transformation.

Réalisation de transformations partiellement réussies

Selon la complexité et les spécificités de votre base de code, il se peut que la transformation soit partiellement réussie dans certains cas. Cela signifie qu'Amazon Q n'a pu transformer que certains fichiers ou certaines zones de code dans votre projet. Dans ce cas, vous devez mettre à jour manuellement le code restant pour que votre projet puisse être compilé dans la version linguistique mise à jour.

Pour transformer le reste de votre code, vous pouvez utiliser le chat Amazon Q dans l'IDE. Vous pouvez demander à Amazon Q de consulter les fichiers partiellement mis à jour et de fournir un nouveau code pour résoudre les problèmes, tels que les erreurs de compilation. Vous pouvez également utiliser des fonctionnalités telles que /devet @workspacepour inclure une plus grande partie de votre projet en tant que contexte et obtenir des suggestions pour plusieurs fichiers à la fois.