Moderniseer Java-apps door GitHub Copilot-modernisering in de Copilot CLI te gebruiken.

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.

Schermopname van de GitHub Copilot CLI met een GitHub Copilot moderniseringsprompt.

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

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

  1. 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-modernization
    
  2. Controleer of de plug-in is geïnstalleerd door een lijst van de geïnstalleerde plug-ins weer te geven:

    /plugin list
    

    U ziet github-copilot-modernization@github-copilot-modernization in 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.md en tasks.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:

Schermopname van GitHub Copilot CLI met lopende taken in Java upgradescenario's.

Het project is bijgewerkt naar JDK 21 en Spring Boot 3.2 en er wordt een upgradeoverzicht weergegeven.

Schermafbeelding van GitHub Copilot CLI met de Java samenvatting van de upgrade.

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.

Schermafbeelding van GitHub Copilot CLI met actieve taken in Java migratiescenario's.

Wanneer het project is gemigreerd naar Microsoft Azure Blob Storage, wordt er een migratieoverzicht weergegeven.

Schermopname van GitHub Copilot CLI met de Java migratiesamenvatting.

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.

Schermopname van GitHub Copilot CLI met de details van de Java-implementatie.

Wanneer het project is geïmplementeerd, wordt een implementatieoverzicht weergegeven.

Schermopname van GitHub Copilot CLI met de Java-implementatiesamenvatting.

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.xml of build.gradle bestaan 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.

Volgende stap