Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit artikel bevat een overzicht van hoe Java ontwikkelaars hun toepassingen kunnen moderniseren met behulp van de invoegtoepassing GitHub Copilot modernisering in Copilot CLI. Door deze methode te gebruiken, kunnen ontwikkelaars toepassingen moderniseren waar ze ook coderen. De invoegtoepassing biedt een naadloze end-to-end-ervaring, van upgrade en migratie naar implementatie, waardoor teams de transformatie versnellen, de productiviteit verhogen en hun toepassingen met vertrouwen naar moderne platforms kunnen verplaatsen.
Opmerking
GitHub Copilot CLI is beschikbaar voor de GitHub Copilot Pro-, GitHub Copilot Pro+-, GitHub Copilot Business- en GitHub Copilot Enterprise-abonnementen. Als u Copilot van een organisatie ontvangt, moet het COPILOT CLI-beleid zijn ingeschakeld in de instellingen van de organisatie.
Met behulp van Copilot CLI voor modernisering kunt u moderniseringstaken rechtstreeks vanuit de terminal uitvoeren, zonder dat u hoeft over te schakelen naar een IDE. Deze benadering ondersteunt zowel interactieve, menselijke in-the-loop- als batchwerkstromen.
Wat kunt u doen
| Vermogen | Beschrijving |
|---|---|
| Java upgrade | Upgrade Java versie (8 → 11 → 17 → 21 → 25), Migreer Spring Boot 2.x naar 3.x, javax naar jakarta en afgeschafte API's |
| Azure migratie | Toepassingen evalueren en Java migreren naar Azure services (Azure Service Bus, Azure SQL, Redis, Azure Key Vault, Application Insights, Managed Identity) |
| CVE en beveiligingsproblemen oplossen | Cve-beveiligingsproblemen scannen en oplossen in Maven-afhankelijkheden, waaronder Log4j, Spring, Jackson en OWASP-afhankelijkheidsanalyse |
| Toepassingsherarchitectuur | Ingrijpende herstructureringen zoals het opsplitsen van een monoliet in microservices, het moderniseren van verouderde gebruikersinterfaces en het extraheren van modules |
| Implementeren naar Azure | Geüpgradede of gemigreerde Java toepassingen rechtstreeks implementeren naar Azure |
Vereiste voorwaarden
- GitHub Copilot CLI.
- Een GitHub Copilot-abonnement. Zie Copilot plans voor meer informatie.
- Node.js versie 22 of hoger.
Opmerking
Een Azure-account is alleen vereist voor het implementeren van resources in Azure en is niet nodig wanneer u GitHub Copilot modernisering gebruikt om codewijzigingen aan te brengen.
De invoegtoepassing installeren
Voeg de marktplaats toe en installeer de plug-in:
copilot plugin marketplace add microsoft/github-copilot-modernization copilot plugin install github-copilot-modernization@github-copilot-modernizationControleer of de plug-in is geïnstalleerd door een lijst van de geïnstalleerde plug-ins weer te geven:
/plugin listU ziet
github-copilot-modernization@github-copilot-modernizationin de lijst.
Tip
Als u de invoegtoepassing wilt bijwerken wanneer er een nieuwe versie beschikbaar is, voert u het volgende uit:
copilot plugin update github-copilot-modernization@github-copilot-modernization
Een moderniseringstaak starten
Optie 1: Begin rechtstreeks met de agent
Navigeer naar uw Java projectmap en start Copilot CLI met de moderniseringsagent:
cd /path/to/your/java-app
copilot --agent=github-copilot-modernization:modernize
Optie 2: Selecteer de agent in Copilot CLI
Als u zich al in een Copilot CLI-sessie bevindt, gebruikt u de opdracht /agent om over te schakelen naar de moderniseringsagent:
/agent
Selecteer modernize in de lijst.
Important
U moet de github-copilot-modernization:modernize agent selecteren voordat u eventuele moderniseringsprompts uitvoert. Zonder de agent te selecteren, gebruikt Copilot CLI de standaardagent, die niet de volledige indeling van meerdere agents en gespecialiseerde migratiemogelijkheden van de invoegtoepassing kan gebruiken.
Een moderniseringsprompt uitvoeren
Zodra de agent actief is, beschrijft u wat u in natuurlijke taal wilt:
modernize my application
U kunt ook specifieker zijn:
upgrade this app to Java 21 and Spring Boot 3.2
migrate this Spring Boot app to Azure
fix CVE vulnerabilities in my project
Gebruik de --allow-all vlag voor uitvoering zonder toezicht:
copilot --agent=github-copilot-modernization:modernize --allow-all
Hoe de werkstroom werkt
De invoegtoepassing maakt gebruik van een werkstroom in drie fasen die automatisch wordt uitgevoerd. U hoeft elke fase niet handmatig aan te roepen. De orchestrator verwerkt routering op basis van uw aanvraag.
Fase 1: Evaluatie
- Detecteert Java toepassingen in het opgegeven pad.
- Analyseert afhankelijkheden, frameworks en Java versie.
- Identificeert moderniseringsmogelijkheden en risico's.
- Slaat resultaten op in
.github/modernize/assessment/.
Fase 2: Planning
- Laadt beoordelingsresultaten.
- Hiermee wordt een uitvoerbaar taakplan gegenereerd.
- Slaat het plan op naar
.github/modernize/<app>/plan.mdentasks.json.
Fase 3: Uitvoering
- Hiermee worden taken doorgestuurd naar gespecialiseerde uitvoerders op basis van het taaktype.
- Elke executor raadpleegt een kennisbank voor migratiepatronen.
- Bewaakt de voortgang met automatische nieuwe pogingen bij fouten.
- Hiermee maakt u gedetailleerde doorvoeringen per taak voor controle.
De orchestrator ondersteunt meerdere toegangspunten, afhankelijk van uw intentie:
| Workflow | Wanneer deze wordt geactiveerd | Wat gebeurt er? |
|---|---|---|
| Brede intentie | "Mijn toepassing moderniseren" | Volledig beoordelen → plannen → pipeline uitvoeren |
| Specifieke taak | "upgrade uitvoeren naar Java 21" | Slaat de evaluatie over, gaat direct naar het plannen → uitvoeren |
| Bestaand plan uitvoeren | "het plan uitvoeren" | Slaat evaluatie en planning over, voert een bestaand plan uit |
| Headless | Uitvoering zonder toezicht met --allow-all |
Hetzelfde als een brede intentie zonder gebruikersprompts |
Algemene scenario's
Uw Java-toepassing upgraden
Als u uw Java-toepassing wilt upgraden naar een nieuwere runtime- of frameworkversie, gebruikt u het volgende voorbeeld:
copilot --agent=github-copilot-modernization:modernize
upgrade this project to JDK 21 and Spring Boot 3.2
De moderniseringstaak wordt vervolgens uitgevoerd, waaronder het genereren van het upgradeplan, het uitvoeren van codeherstel, het bouwen van het project en het controleren op beveiligingsproblemen, zoals wordt weergegeven in de volgende schermopname:
Het project is bijgewerkt naar JDK 21 en Spring Boot 3.2 en er wordt een upgradeoverzicht weergegeven.
Uw Java-toepassing migreren naar Azure
Als u uw Java-toepassing wilt migreren naar Azure, beschrijft u uw migratiescenario, zoals wordt weergegeven in het volgende voorbeeld. Voor meer informatie over vooraf gedefinieerde migratietaken, zie Vooraf gedefinieerde taken voor GitHub Copilot-modernisering voor Java-ontwikkelaars.
copilot --agent=github-copilot-modernization:modernize
migrate this application from S3 to Azure Blob Storage
Met deze prompt wordt de migratietaak uitgevoerd en wordt de voortgang in Copilot CLI weergegeven.
Wanneer het project is gemigreerd naar Microsoft Azure Blob Storage, wordt er een migratieoverzicht weergegeven.
Uw Java-toepassing implementeren in Azure
Nadat u uw toepassing hebt geupgraded of gemigreerd, kunt u deze rechtstreeks vanuit Copilot CLI implementeren met behulp van het volgende voorbeeld:
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.
Door deze prompt te gebruiken, wordt de implementatietaak uitgevoerd en wordt de voortgang in Copilot CLI weergegeven.
Wanneer het project is geïmplementeerd, wordt een implementatieoverzicht weergegeven.
Troubleshooting
Invoegtoepassing is niet gevonden
# 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
Evaluatie mislukt: er is geen Java toepassing gevonden
- Controleer of
pom.xmlofbuild.gradlebestaan in de hoofdmap van uw project. - Zorg ervoor dat u zich in de juiste map bevindt voordat u Copilot CLI start.
Problemen met MCP-server
De invoegtoepassing maakt gebruik van de MCP-server die is gedefinieerd in de configuratie. Als u problemen ondervindt, installeert u de invoegtoepassing opnieuw om de MCP-configuratie opnieuw in te stellen.
Feedback geven
Als u feedback hebt over de GitHub Copilot-moderniseringsplugin, maak dan een issue aan in de repository github-copilot-appmod.