Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.
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
- GitHub Copilot CLI.
- Un abonnement GitHub Copilot. Pour plus d’informations, consultez Copilot plans.
- Node.js version 22 ou ultérieure.
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
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-modernizationVérifiez que le plug-in est installé en répertoriant les plug-ins installés :
/plugin listVous devriez voir
github-copilot-modernization@github-copilot-modernizationdans 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.mdettasks.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 :
Le projet est correctement mis à niveau vers JDK 21 et Spring Boot 3.2, et un résumé de la mise à niveau s’affiche.
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.
Lorsque le projet est correctement migré vers Microsoft Stockage Blob Azure, un résumé de la migration s’affiche.
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.
Une fois le projet déployé, un résumé du déploiement s’affiche.
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.xmloubuild.gradleexiste 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.