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 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 Developer 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 transformation supplémentaire est nécessaire pour mettre à niveau les bibliothèques et les dépendances de votre projet. Choisissez la même version de code source et la même version de code cible (par exemple, 17 à 17).

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 :

    • E/S 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

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.