Moderniser les applications Java à l’aide de la modernisation de GitHub Copilot dans l’interface CLI Copilot

Cet article fournit une vue d’ensemble de la façon dont les développeurs Java peuvent moderniser leurs applications à l’aide du plug-in GitHub Copilot dans Copilot CLI. À l’aide de cette approche, les développeurs peuvent moderniser des applications partout où ils codent. Le plug-in offre une expérience transparente de bout en bout , de la mise à niveau et de la migration au déploiement, ce qui aide les équipes à accélérer la transformation, à améliorer la productivité et à déplacer en toute confiance leurs applications vers des plateformes modernes.

Screenshot de l’interface CLI GitHub Copilot qui affiche une invite de modernisation GitHub Copilot.

Note

GitHub Copilot CLI est disponible avec les plans GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business et GitHub Copilot Entreprise. Si vous recevez Copilot d'une organisation, il est nécessaire d'activer la politique CLI (interface en ligne de commande) de Copilot dans les paramètres de l'organisation.

En utilisant Copilot CLI pour la modernisation, vous pouvez exécuter des tâches de modernisation directement à partir du terminal, sans avoir à basculer vers un IDE. Cette approche prend en charge les workflows interactifs - humains dans la boucle - et par lots.

Ce que vous pouvez faire

Capability Description
Java mise à niveau Mettre à niveau la version de Java (8 → 11 → 17 → 21 → 25), migrer de Spring Boot 2.x vers 3.x, de javax vers jakarta, ainsi que les API obsolètes
Migration Azure Évaluer et migrer des applications Java vers des services Azure (Azure Service Bus, Azure SQL, Redis, Azure Key Vault, Application Insights, Managed Identity)
CVE et correction de vulnérabilités Analyser et corriger les vulnérabilités CVE dans les dépendances Maven, notamment Log4j, Spring, Jackson et OWASP
Réarchitecture d’application Réécritures structurelles telles que la décomposition d’un monolithe en microservices, la modernisation d’une interface utilisateur existante et l’extraction de modules
Déployer dans Azure Déployer des applications Java mises à niveau ou migrées directement vers Azure

Prerequisites

Note

Un compte Azure est requis uniquement pour le déploiement de ressources sur Azure et n'est pas nécessaire lors de l'utilisation de GitHub Copilot modernisation pour apporter des modifications au code.

Installer le plug-in

  1. Ajoutez la Place de marché et installez le plug-in :

    copilot plugin marketplace add microsoft/github-copilot-modernization
    copilot plugin install github-copilot-modernization@github-copilot-modernization
    
  2. Vérifiez que le plug-in est installé en répertoriant les plug-ins installés :

    /plugin list
    

    Vous devriez voir github-copilot-modernization@github-copilot-modernization dans la liste.

Conseil / Astuce

Pour mettre à jour le plug-in lorsqu’une nouvelle version est disponible, exécutez :

copilot plugin update github-copilot-modernization@github-copilot-modernization

Démarrer une tâche de modernisation

Option 1 : Démarrer directement avec l’agent

Accédez à votre dossier de projet Java et démarrez Copilot CLI avec l’agent de modernisation :

cd /path/to/your/java-app
copilot --agent=github-copilot-modernization:modernize

Option 2 : Sélectionner l’agent dans Copilot CLI

Si vous êtes déjà dans une session CLI Copilot, utilisez la commande /agent pour basculer vers l'agent de modernisation :

/agent

Sélectionnez-le modernize dans la liste.

Important

Vous devez sélectionner l’agent github-copilot-modernization:modernize avant de lancer toute instruction de modernisation. Sans sélectionner l'agent, Copilot CLI utilise l'agent par défaut, qui ne peut pas utiliser l'orchestration multi-agent complète et les fonctionnalités de migration spécialisées fournies par le plug-in.

Lancer un prompt de modernisation

Une fois l’agent actif, décrivez ce que vous souhaitez en langage naturel :

modernize my application

Ou être plus spécifique :

upgrade this app to Java 21 and Spring Boot 3.2
migrate this Spring Boot app to Azure
fix CVE vulnerabilities in my project

Pour une exécution sans assistance, utilisez l’indicateur --allow-all :

copilot --agent=github-copilot-modernization:modernize --allow-all

Fonctionnement du flux de travail

Le plug-in utilise un workflow en trois phases qui s’exécute automatiquement. Vous n’avez pas besoin d’appeler chaque phase manuellement : l’orchestrateur gère le routage en fonction de votre requête.

Phase 1 : Évaluation

  • Détecte les applications Java dans le chemin spécifié.
  • Analyse les dépendances, les frameworks et Java version.
  • Identifie les opportunités et les risques de modernisation.
  • Enregistre les résultats dans .github/modernize/assessment/.

Phase 2 : Planification

  • Charge les résultats de l’évaluation.
  • Génère un plan de tâche exécutable.
  • Enregistre le plan dans .github/modernize/<app>/plan.md et tasks.json.

Phase 3 : Exécution

  • Route les tâches vers des agents exécuteurs spécialisés en fonction du type de tâche.
  • Chaque exécuteur interroge une base de connaissances pour les modèles de migration.
  • Surveille la progression avec une nouvelle tentative automatique en cas d’échec.
  • Crée des commits détaillés pour chaque tâche, pour examen.

L’orchestrateur prend en charge plusieurs points d’entrée en fonction de votre intention :

Flux de travail Quand il s’active Que se passe-t-il ?
Intention générale « moderniser mon application » Évaluation complète → planification → exécution du pipeline
Tâche spécifique « mise à niveau vers Java 21 » Ignore l’évaluation, passe directement au plan → exécuter
Exécuter un plan existant « exécuter le plan » Ignore l’évaluation et la planification, exécute un plan existant
Headless Exécution non assistée avec --allow-all Même intention générale sans invites utilisateur

Scénarios courants

Mettre à niveau votre application Java

Pour mettre à niveau votre application Java vers une version plus récente du runtime ou de l’infrastructure, utilisez l’exemple suivant :

copilot --agent=github-copilot-modernization:modernize
upgrade this project to JDK 21 and Spring Boot 3.2

La tâche de modernisation s’exécute ensuite, notamment la génération du plan de mise à niveau, l’exécution de la correction du code, la génération du projet et la vérification des vulnérabilités, comme illustré dans la capture d’écran suivante :

Capture d'écran de GitHub Copilot CLI qui montre les tâches en cours d'exécution dans des scénarios de mise à niveau Java.

Le projet est correctement mis à niveau vers JDK 21 et Spring Boot 3.2, et un résumé de la mise à niveau s’affiche.

Screenshot de GitHub Copilot CLI qui affiche le résumé de la mise à niveau Java.

Migrer votre application Java vers Azure

Pour migrer votre application Java vers Azure, décrivez votre scénario de migration, comme illustré dans l’exemple suivant. Pour plus d’informations sur les tâches de migration prédéfinies, consultez Tâches prédéfinies pour la modernisation de GitHub Copilot pour les développeurs Java.

copilot --agent=github-copilot-modernization:modernize
migrate this application from S3 to Azure Blob Storage

Avec cette invite, la tâche de migration est exécutée et affiche la progression dans Copilot CLI.

Capture d'écran de l'interface CLI de GitHub Copilot montrant l'exécution de tâches dans des scénarios de migration Java.

Lorsque le projet est correctement migré vers Microsoft Stockage Blob Azure, un résumé de la migration s’affiche.

Screenshot de l’interface CLI GitHub Copilot qui affiche le résumé de migration Java.

Déployer votre application Java sur Azure

Après la mise à niveau ou la migration de votre application, vous pouvez la déployer directement à partir de Copilot CLI à l’aide de l’exemple suivant :

copilot --agent=github-copilot-modernization:modernize
Scan my project and help me plan how to containerize my application using the #appmod-get-containerization-plan tool. Execute the plan. The end goal is to have Dockerfiles that are able to be built.

À l’aide de cette instruction, la tâche de déploiement s’exécute et affiche son avancement dans Copilot CLI.

Screenshot de l’interface CLI GitHub Copilot qui affiche les détails du déploiement Java.

Une fois le projet déployé, un résumé du déploiement s’affiche.

Screenshot de l’interface CLI GitHub Copilot qui affiche le résumé du déploiement Java.

Résolution des problèmes

Extension introuvable

# Verify marketplace is added
copilot plugin marketplace list

# Re-add the marketplace if needed
copilot plugin marketplace add microsoft/github-copilot-modernization

# Reinstall
copilot plugin install github-copilot-modernization@github-copilot-modernization

Échec de l’évaluation : aucune application Java trouvée

  • Vérifiez pom.xml ou build.gradle existe dans la racine de votre projet.
  • Vérifiez que vous êtes dans le répertoire approprié avant de commencer Copilot CLI.

Problèmes de serveur MCP

Le plug-in utilise le serveur MCP défini dans sa configuration. Si vous rencontrez des problèmes, essayez de réinstaller le plug-in pour réinitialiser la configuration MCP.

Fournir des commentaires

Si vous avez des commentaires sur le plugin GitHub Copilot modernization, ouvrez une issue dans le dépôt github-copilot-appmod.

Étape suivante