Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln innehåller en översikt över hur Java utvecklare kan modernisera sina program med hjälp av GitHub Copilot modernisering plugin-programmet i Copilot CLI. Med den här metoden kan utvecklare modernisera program var de än kodar. Plugin-programmet ger en sömlös upplevelse från slutpunkt till slutpunkt – från uppgradering och migrering till distribution – som hjälper team att påskynda omvandlingen, öka produktiviteten och på ett säkert sätt flytta sina program till moderna plattformar.
Anmärkning
GitHub Copilot CLI är tillgängligt med abonnemangen GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business och GitHub Copilot Enterprise. Om du får Copilot från en organisation måste Copilot CLI-principen vara aktiverad i organisationens inställningar.
Genom att använda Copilot CLI för modernisering kan du köra moderniseringsuppgifter direkt från terminalen, utan att behöva växla till en IDE. Den här metoden stöder både interaktiva arbetsflöden – human-in-the-loop – och batcharbetsflöden.
Detta kan du göra
| Capability | Description |
|---|---|
| Java uppgradering | Uppgradera Java version (8 → 11 → 17 → 21 → 25), migrera Spring Boot 2.x till 3.x, javax till jakarta och inaktuella API:er |
| Azure-migrering | Utvärdera och migrera Java program till Azure tjänster (Azure Service Bus, Azure SQL, Redis, Azure Key Vault, Application Insights, Hanterad identitet) |
| CVE och sårbarhetsfixering | Skanna och åtgärda CVE-sårbarheter i Maven-beroenden, inklusive log4j-, Spring-, Jackson- och OWASP-beroendeanalys |
| Applikationsomarkitekturering | Strukturella omskrivningar, till exempel uppdelning av monoliter i mikrotjänster, modernisering av äldre användargränssnitt och modulutvinning |
| Distribuera till Azure | Distribuera uppgraderade eller migrerade Java program direkt till Azure |
Förutsättningar
- GitHub Copilot CLI.
- GitHub Copilot-prenumeration. Mer information finns i Copilot planer.
- Node.js version 22 eller senare.
Anmärkning
Ett Azure-konto krävs endast för att distribuera resurser till Azure och behövs inte när du använder GitHub Copilot modernisering för att göra kodändringar.
Installera plugin-programmet
Lägg till marketplace och installera plugin-programmet:
copilot plugin marketplace add microsoft/github-copilot-modernization copilot plugin install github-copilot-modernization@github-copilot-modernizationKontrollera att plugin-programmet har installerats genom att visa installerade plugin-program:
/plugin listDu bör se
github-copilot-modernization@github-copilot-modernizationi listan.
Tips/Råd
Om du vill uppdatera plugin-programmet när en ny version är tillgänglig kör du:
copilot plugin update github-copilot-modernization@github-copilot-modernization
Starta en moderniseringsuppgift
Alternativ 1: Börja med agenten direkt
Gå till din Java projektmapp och starta Copilot CLI med moderniseringsagenten:
cd /path/to/your/java-app
copilot --agent=github-copilot-modernization:modernize
Alternativ 2: Välj agenten inifrån Copilot CLI
Om du redan är i en Copilot CLI-session använder du kommandot /agent för att växla till moderniseringsagenten:
/agent
Välj modernize i listan.
Important
Du måste välja agenten github-copilot-modernization:modernize innan du kör några moderniseringsprompter. Utan att välja agenten använder Copilot CLI standardagenten, som inte kan använda de fullständiga orkestreringsfunktionerna för flera agenter och specialiserade migreringsfunktioner som tillhandahålls av plugin-programmet.
Köra en moderniseringsprompt
När agenten är aktiv beskriver du vad du vill ha på naturligt språk:
modernize my application
Eller var mer specifik:
upgrade this app to Java 21 and Spring Boot 3.2
migrate this Spring Boot app to Azure
fix CVE vulnerabilities in my project
Vid obevakad körning använder du --allow-all-flaggan:
copilot --agent=github-copilot-modernization:modernize --allow-all
Så här fungerar arbetsflödet
Plugin-programmet använder ett trefasarbetsflöde som körs automatiskt. Du behöver inte anropa varje fas manuellt – orkestratorn hanterar routning baserat på din begäran.
Fas 1: Utvärdering
- Identifierar Java program i den angivna sökvägen.
- Analyserar beroenden, ramverk och Java version.
- Identifierar moderniseringsmöjligheter och risker.
- Sparar resultat till
.github/modernize/assessment/.
Fas 2: Planering
- Läser in utvärderingsresultat.
- Genererar en körbar uppgiftsplan.
- Sparar planen till
.github/modernize/<app>/plan.mdochtasks.json.
Fas 3: Utförande
- Dirigerar aktiviteter till specialiserade exekutoragenter baserat på aktivitetstyp.
- Varje exekverare söker i en kunskapsbas efter migreringsmönster.
- Övervakar förloppet med automatiskt återförsök vid fel.
- Skapar detaljerade incheckningar för varje uppgift för granskning.
Orchestrator stöder flera startpunkter beroende på din avsikt:
| Workflow | När den aktiveras | Vad händer |
|---|---|---|
| Övergripande avsikt | "modernisera mitt program" | Fullständigt utvärdera → planera → köra hela arbetsflödet |
| Specifik uppgift | "uppgradera till Java 21" | Hoppar över bedömning, går direkt till planering → utförande |
| Köra en befintlig plan | genomför planen | Hoppar över utvärdering och planering, kör en befintlig plan |
| Headless | Obevakad körning med --allow-all |
Samma som bred avsikt utan användarprompter |
Vanliga scenarier
Uppgradera ditt Java program
Om du vill uppgradera ditt Java-program till en nyare körnings- eller ramverksversion använder du följande exempel:
copilot --agent=github-copilot-modernization:modernize
upgrade this project to JDK 21 and Spring Boot 3.2
Moderniseringsaktiviteten körs sedan, inklusive att generera uppgraderingsplanen, utföra kodreparation, skapa projektet och söka efter säkerhetsrisker enligt följande skärmbild:
Projektet har uppgraderats till JDK 21 och Spring Boot 3.2 och en uppgraderingssammanfattning visas.
Migrera ditt Java program till Azure
Om du vill migrera ditt Java program till Azure beskriver du migreringsscenariot, som du ser i följande exempel. Mer information om fördefinierade migreringsuppgifter finns i Fördefinierade uppgifter för GitHub Copilot modernisering för Java utvecklare.
copilot --agent=github-copilot-modernization:modernize
migrate this application from S3 to Azure Blob Storage
Med den här uppmaningen körs migreringsuppgiften och visar förloppet i Copilot CLI.
När projektet har migrerats till Microsoft Azure Blob Storage visas en migreringssammanfattning.
Distribuera ditt Java program till Azure
När du har uppgraderat eller migrerat programmet kan du distribuera det direkt från Copilot CLI med hjälp av följande exempel:
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.
Genom att använda den här prompten körs distributionsuppgiften och visar dess förlopp i Copilot CLI.
När projektet har distribuerats visas en distributionssammanfattning.
Troubleshooting
Plugin-programmet hittades inte
# 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
Utvärderingen misslyckas: inget Java program hittades
- Verifiera
pom.xmlellerbuild.gradlefinns i projektroten. - Kontrollera att du är i rätt katalog innan du börjar Copilot CLI.
MCP-serverproblem
Plugin-programmet använder den MCP-server som definierats i dess konfiguration. Om du får problem kan du prova att installera om plugin-programmet för att återställa MCP-konfigurationen.
Lämna feedback
Om du har några synpunkter på insticksprogrammet GitHub Copilot modernization, skapa ett ärende i github-copilot-appmod-lagringsplatsen.