Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel enthält eine Übersicht darüber, wie Java Entwickler ihre Anwendungen mithilfe des GitHub Copilot-Modernisierungs-Plug-Ins in Copilot CLI modernisieren können. Mithilfe dieses Ansatzes können Entwickler Anwendungen überall modernisieren, wo sie coden. Das Plug-In bietet eine nahtlose, end-to-End-Erfahrung – von Upgrade und Migration bis hin zur Bereitstellung – und hilft Teams dabei, die Transformation zu beschleunigen, die Produktivität zu steigern und ihre Anwendungen auf moderne Plattformen zu übertragen.
Hinweis
GitHub Copilot CLI ist mit den GitHub Copilot Pro-, GitHub Copilot Pro+-, GitHub Copilot Business- und GitHub Copilot Enterprise-Plänen verfügbar. Wenn Sie Copilot von einer Organisation erhalten, muss die Copilot CLI-Richtlinie in den Einstellungen der Organisation aktiviert sein.
Mithilfe von Copilot CLI für die Modernisierung können Sie Modernisierungsaufgaben direkt vom Terminal aus ausführen, ohne zu einer IDE wechseln zu müssen. Dieser Ansatz unterstützt sowohl Mensch-in-der-Schleife- als auch Batch-Workflows.
Mögliche Aktionen
| Fähigkeit | Description |
|---|---|
| Java-Aktualisierung | Java-Version aktualisieren (8 → 11 → 17 → 21 → 25), Spring Boot 2.x auf 3.x migrieren, javax zu jakarta und veraltete APIs aktualisieren |
| Azure Migration | Bewerten und Migrieren von Java Anwendungen zu Azure Diensten (Azure Service Bus, Azure SQL, Redis, Azure Key Vault, Application Insights, Managed Identity) |
| CVE- und Sicherheitsrisikobereinigung | Überprüfen und Beheben von CVE-Sicherheitsrisiken in Maven-Abhängigkeiten, einschließlich Log4j, Spring, Jackson und OWASP-Abhängigkeitsanalyse |
| Anwendungsneuarchitektur | Strukturelle Umgestaltungen wie die Zerlegung eines Monolithen in Microservices, die Modernisierung von Legacy-Benutzeroberflächen und die Extraktion von Modulen |
| Deploy to Azure | Bereitstellen von aktualisierten oder migrierten Java Anwendungen direkt auf Azure |
Voraussetzungen
- GitHub Copilot CLI.
- Ein GitHub Copilot-Abonnement. Weitere Informationen finden Sie unter Copilot plans.
- Node.js Version 22 oder höher.
Hinweis
Ein Azure Konto ist nur für die Bereitstellung von Ressourcen auf Azure erforderlich und wird nicht benötigt, wenn GitHub Copilot Modernisierung verwendet wird, um Codeänderungen vorzunehmen.
Installieren des Plug-Ins
Fügen Sie den Marketplace hinzu, und installieren Sie das Plug-In:
copilot plugin marketplace add microsoft/github-copilot-modernization copilot plugin install github-copilot-modernization@github-copilot-modernizationÜberprüfen Sie, ob das Plug-In installiert ist, indem Sie installierte Plug-Ins auflisten:
/plugin listSie sollten
github-copilot-modernization@github-copilot-modernizationin der Liste sehen.
Tipp
Führen Sie Folgendes aus, um das Plug-In zu aktualisieren, wenn eine neue Version verfügbar ist:
copilot plugin update github-copilot-modernization@github-copilot-modernization
Starten einer Modernisierungsaufgabe
Option 1: Mit dem Agent direkt beginnen
Navigieren Sie zu Ihrem Java Projektordner, und starten Sie Copilot CLI mit dem Modernisierungs-Agent:
cd /path/to/your/java-app
copilot --agent=github-copilot-modernization:modernize
Option 2: Agent in Copilot CLI auswählen
Wenn Sie sich bereits in einer Copilot CLI-Sitzung befinden, verwenden Sie den Befehl /agent, um zum Modernisierungs-Agent zu wechseln:
/agent
Wählen Sie modernize aus der Liste aus.
Important
Sie müssen den github-copilot-modernization:modernize Agent auswählen, bevor Sie Modernisierungsaufforderungen ausführen. Ohne den Agent auszuwählen, verwendet Copilot CLI den Standard-Agent, der nicht die vollständigen Multi-Agent-Orchestrierungs- und speziellen Migrationsfunktionen des Plug-Ins verwenden kann.
Modernisierungsanweisung ausführen
Sobald der Agent aktiv ist, beschreiben Sie, was Sie in natürlicher Sprache wünschen:
modernize my application
Oder spezifischer sein:
upgrade this app to Java 21 and Spring Boot 3.2
migrate this Spring Boot app to Azure
fix CVE vulnerabilities in my project
Verwenden Sie für die unbeaufsichtigte Ausführung das --allow-all Kennzeichen:
copilot --agent=github-copilot-modernization:modernize --allow-all
Funktionsweise des Workflows
Das Plug-In verwendet einen dreistufigen Workflow, der automatisch ausgeführt wird. Sie müssen jede Phase nicht manuell aufrufen – der Orchestrator verarbeitet das Routing basierend auf Ihrer Anforderung.
Phase 1: Bewertung
- Ermittelt Java Anwendungen im angegebenen Pfad.
- Analysiert Abhängigkeiten, Frameworks und Java Version.
- Identifiziert Modernisierungschancen und Risiken.
- Speichert Ergebnisse in
.github/modernize/assessment/.
Phase 2: Planung
- Lädt Bewertungsergebnisse.
- Generiert einen ausführbaren Aufgabenplan.
- Speichert den Plan in
.github/modernize/<app>/plan.mdundtasks.json.
Phase 3: Ausführung
- Leitet Aufgaben basierend auf dem Aufgabentyp an spezialisierte Executor-Agents weiter.
- Jeder Executor fragt eine Wissensbasis für Migrationsmuster ab.
- Überwacht den Fortschritt mit automatischer Wiederholung bei Fehlern.
- Erstellt detaillierte Commits pro Aufgabe zur Überprüfung.
Der Orchestrator unterstützt je nach Absicht mehrere Einstiegspunkte:
| Workflow | Wenn sie aktiviert wird | Was ist los |
|---|---|---|
| Allgemeine Absicht | "Meine Anwendung modernisieren" | Vollständige Bewertung → Plans → Ausführen der Pipeline |
| Spezifischer Vorgang | "Upgrade auf Java 21" | Überspringt die Bewertung, geht direkt zum Planen → Ausführung |
| Ausführen eines vorhandenen Plans | "Plan ausführen" | Überspringt Bewertung und Planung, führt einen vorhandenen Plan aus. |
| Kopflos | Unbeaufsichtigte Ausführung mit --allow-all |
Identisch mit der allgemeinen Absicht ohne Benutzereingabeaufforderungen |
Häufige Szenarien
Aktualisieren Ihrer Java Anwendung
Verwenden Sie das folgende Beispiel, um die Java Anwendung auf eine neuere Laufzeit- oder Frameworkversion zu aktualisieren:
copilot --agent=github-copilot-modernization:modernize
upgrade this project to JDK 21 and Spring Boot 3.2
Anschließend wird der Modernisierungsvorgang ausgeführt, einschließlich des Generierens des Upgradeplans, durchführen der Codebehebung, Erstellen des Projekts und Überprüfen auf Sicherheitsrisiken, wie im folgenden Screenshot gezeigt:
Das Projekt wurde erfolgreich auf JDK 21 und Spring Boot 3.2 aktualisiert, und es wird eine Upgradezusammenfassung angezeigt.
Migrieren Ihrer Java-Anwendung zu Azure
Wenn Sie Ihre Java-Anwendung zu Azure migrieren möchten, beschreiben Sie Ihr Migrationsszenario, wie im folgenden Beispiel gezeigt. Weitere Informationen zu vordefinierten Migrationsaufgaben finden Sie unter Vordefinierte Aufgaben für GitHub Copilot Modernisierung für Java Entwickler.
copilot --agent=github-copilot-modernization:modernize
migrate this application from S3 to Azure Blob Storage
Mit dieser Eingabeaufforderung wird die Migrationsaufgabe ausgeführt und zeigt den Fortschritt in Copilot CLI an.
Wenn das Projekt erfolgreich zu Microsoft Azure Blob Storage migriert wird, wird eine Migrationszusammenfassung angezeigt.
Bereitstellen ihrer Java Anwendung zum Azure
Nachdem Sie ihre Anwendung aktualisiert oder migriert haben, können Sie sie direkt über Copilot CLI bereitstellen, indem Sie das folgende Beispiel verwenden:
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.
Durch die Verwendung dieses Prompts wird die Bereitstellungsaufgabe ausgeführt, und der Fortschritt wird in Copilot CLI angezeigt.
Wenn das Projekt erfolgreich bereitgestellt wurde, wird eine Bereitstellungszusammenfassung angezeigt.
Troubleshooting
Plug-In nicht gefunden
# 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
Die Bewertung schlägt fehl: Es wurde keine Java Anwendung gefunden.
- Überprüfen Sie, ob
pom.xmloderbuild.gradleim Stammverzeichnis Ihres Projekts vorhanden ist. - Stellen Sie sicher, dass Sie sich im richtigen Verzeichnis befinden, bevor Sie Copilot CLI starten.
MCP-Serverprobleme
Das Plug-In verwendet den MCP-Server, der in seiner Konfiguration definiert ist. Wenn Probleme auftreten, versuchen Sie, das Plug-In erneut zu installieren, um die MCP-Konfiguration zurückzusetzen.
Feedback geben
Wenn Sie Feedback zum GitHub Copilot Modernization-Plug-In haben, erstellen Sie ein Problem im Github-copilot-appmod-Repository.