Die GitHub Copilot App-Modernisierungserweiterung in Visual Studio Code automatisiert Java-Upgrades, indem veraltete Frameworks, veraltete APIs und Upgrade-Blocker identifiziert werden. Copilot-Programmierassistent wendet Code-Änderungen an, aktualisiert Build-Dateien und behebt Build- und CVE-Probleme für Sie.
Die Empfehlungen und Berichte, die von der Erweiterung erstellt werden, können Ihren Teams helfen, neue Technologien schnell zu übernehmen und technische Schulden zu reduzieren. Copilot führt Sie mit umsetzbaren Schritten und Zusammenfassungen durch Upgrades, beschleunigt und sichert Ihre Migrationen und reduziert den manuellen Aufwand.
Anweisungen zu Erweiterungsfunktionen, Setup und Benutzeroberfläche finden Sie in der Microsoft-Dokumentation zur Modernisierung der GitHub Copilot-App .
Modernisierungsframework
Wenn Sie eine Agentsitzung mit der Java-Upgradeerweiterung starten, hilft Ihnen die Erweiterung, Ihre Java-Anwendung mithilfe des folgenden Frameworks zu modernisieren.
-
**Durchführen von Bewertungsaufgaben**. Die Erweiterung kann Code, Konfiguration und Abhängigkeiten analysieren und eine Bewertung des aktuellen Zustands Ihrer Anwendung bereitstellen. -
**Erstellen Sie einen anpassbaren Modernisierungsplan**. Basierend auf der Bewertung kann die Erweiterung einen Modernisierungspfad vorschlagen, einschließlich der erforderlichen Framework- und Bibliotheksupdates. -
**Frühzeitige Identifizierung von Problemen**. Die Erweiterung identifiziert Abhängigkeiten, veraltete Bibliotheken und Sprachfeatures sowie potenzielle Migrationsprobleme. Die Erweiterung bietet umsetzbare Strategien zur Behebung von Problemen. -
**Passen Sie Ihren Plan an**. Bearbeiten Sie den Modernisierungsplan an die spezifischen Anforderungen Ihrer Anwendung, z. B. das Einbinden von Organisationsstandards und -praktiken, mit Ausnahme bestimmter Komponenten oder Priorisieren bestimmter Features oder Entwurfsmuster. -
**Implementieren Sie Ihren Plan**. Die Erweiterung kann beim Anwenden von Codeänderungen, beim Aktualisieren von Builddateien, beim Umgestalten veralteter APIs und beim Beheben von Build- und Syntaxproblemen helfen. Die Erweiterung korrigiert automatisch Buildfehler und führt nach jedem Schritt Testüberprüfungen durch, um Stabilität und fehlerfreie Änderungen sicherzustellen. <!-- markdownlint-disable-line GHD046 --> -
**Überprüfen Sie Ihre Änderungen**. Die Erweiterung kann einen detaillierten Upgradebericht erstellen, die angewendeten Änderungen zusammenfassen und alle nicht behobenen Probleme und verbleibenden Schritte für Ihre Modernisierung auflisten. -
**Generieren Sie Komponententests**. Die Erweiterung wertet automatisch vorhandene Tests aus und generiert neue Testdateien und fügt sie dem Arbeitsbereich hinzu. Ein Bericht wird erstellt, der die Testergebnisse vor und nach der Generierung zusammenfasst. -
**Containerisieren Sie Ihre Anwendung**. Die Erweiterung kann automatisch Dockerfiles generieren, Images erstellen und alles für Ihre modernisierte Anwendung validieren, damit diese in Container-Diensten wie Azure Kubernetes Service (AKS), Azure Container Apps (ACA) und AKS Anywhere ausgeführt werden können, was die Bereitstellung und Skalierbarkeit vereinfacht. -
**Vorbereiten der Bereitstellung**. Mit der Erweiterung können Sie Ihre Anwendung auf Containerisierung und Bereitstellung vorbereiten, indem Bereitstellungsartefakte wie Skripts und Konfigurationen generiert werden. -
**Automatisieren Sie die Bereitstellung in Azure**. Die Erweiterung kann Ihnen helfen, Ihre modernisierte Anwendung auf Azure bereitzustellen oder zu provisionieren, notwendige Artefakte und Azure-Ressourcen zu erzeugen und Schritte auszuführen.
Sie können das Verständnis Ihres Teams für die Codebasis der Anwendung verbessern und Zeit und Mühe sparen, indem Sie Copilot verwenden, um bei komplexen Modernisierungsaufgaben zu helfen:
- Reverse Engineering und Codetransformation
- Sicherheitsrisiko- und Abhängigkeitsanalyse sowie Codeverhaltensprüfungen und -korrekturen
- Automatisierte Generierung von Ressourcen, Dokumentationen und Upgradeberichten
- Testgenerierung und -auswertung
- Bereitstellungsautomatisierung
Übersicht über den Modernisierungsworkflow
In diesem Beispiel erläutern wir die allgemeinen Schritte zur Modernisierung einer Java-Anwendung mithilfe der App-Modernisierungserweiterung GitHub Copilot in Visual Studio Code.
Ausführliche Voraussetzungen und Anweisungen finden Sie in der Microsoft-Dokumentation unter "Schnellstart: Upgrade eines Java-Projekts mit GitHub Copilot App-Modernisierung ".
Hinweis
Während des Modernisierungsworkflows werden Sie möglicherweise häufig von Copilot-Programmierassistent zur Bestätigung aufgefordert, bevor bestimmte Aktionen ausgeführt werden.
1. Öffnen Sie Ihr Java-Projekt
Verwenden Sie VS Code, um Ihren Projektordner zu öffnen.
Empfohlene Maßnahmen
- Stellen Sie sicher, dass Ihr Projekt erfolgreich kompiliert wird, bevor Sie fortfahren.
- Wenn Build-Probleme auftreten, können Sie Copilot verwenden, um diese zu beheben, bevor Sie den Modernisierungsprozess starten.
2. Einen Modernisierungsarbeitsbereich starten
Starten Sie Copilot-Chat und beginnen Sie eine neue Sitzung im Agent-Modus. Wählen Sie GitHub Copilot app modernization - upgrade for Java aus den verfügbaren Tools.
3. Analysieren Ihres Projekts auf Upgradechancen
Copilot wird Ihre Codebasis scannen. Die Analyse umfasst:
- Erkennung veralteter Frameworks (z. B. Spring Boot, Jakarta EE, Java SE-Versionen).
- Identifizierung veralteter APIs und veralteter Muster.
- Vorschläge für Upgradechancen.
Sie können die Ergebnisse und einen strukturierten Upgradeplan im Editor überprüfen, der Folgendes anzeigt:
- Aktuelle und empfohlene Versionen für Frameworks und Abhängigkeiten.
- Codespeicherorte, die Migration oder Umgestaltung erfordern.
- Upgradeblocker oder inkompatible Abhängigkeiten.
Empfohlene Maßnahmen
- Überprüfen und anpassen Sie den Modernisierungsplan, bevor Sie mit dem Upgrade fortfahren.
4. Wenden Sie Copilot die Upgradeempfehlungen an.
Verwenden Sie Copilot, um Code-Änderungen anzuwenden oder zu überprüfen, Build-Dateien zu aktualisieren und APIs zu refaktorisieren.
Wenn Build-Fehler gefunden werden, kann Copilot eine Korrektur- und Testschleife einleiten, bis das Projekt sauber kompiliert ist.
Automatisierte Änderungen durch Copilot-Programmierassistent können umfassen:
- Aktualisieren von
pom.xml- oderbuild.gradle-Dateien für neue Versionen von Abhängigkeiten. - Generieren von Pull-Requests oder direktes Committen von Änderungen.
- Code-Refactoring für API-Änderungen. Beispiel: Migrieren von
javax.*zujakarta.*Namespaces. - Vorschlagen oder Anwenden von Code-Transformationen, um fehlerhafte Änderungen zu beheben.
Copilot iteriert und behebt so lange Fehler, bis das Projekt erfolgreich erstellt wurde und keine Probleme mehr bestehen, die behoben werden müssen. Es ist möglich, dass kleinere Probleme, die keine sofortigen Korrekturen erfordern, weiterhin bestehen bleiben. Dadurch wird nicht verhindert, dass das Upgrade abgeschlossen wird.
Empfohlene Maßnahmen
- Überprüfen Sie alle Codeänderungen im Diff-Editor, bevor Sie dies akzeptieren.
- Verwenden Sie Copilot, um Code-Änderungen genauer zu erklären und zu dokumentieren.
- Wenn Sie von der Erweiterung aufgefordert werden, akzeptieren Sie die Optionen zum Überprüfen geänderter Abhängigkeiten für bekannte CVEs und zum Überprüfen des Codeverhaltens auf Konsistenz.
- Überprüfen Sie alle verbleibenden Probleme, und bewerten Sie ihre Wichtigkeit.
5. Überprüfen des Upgrade-Berichts und der vorgeschlagenen nächsten Schritte
Nach Abschluss des Upgradevorgangs generiert Copilot einen zusammenfassenden Upgradebericht, der Folgendes enthält:
- Projektinformationen.
- Codezeilen wurden geändert.
- Aktualisierte Abhängigkeiten.
- Zusammengefasste Code-Änderungen.
- Es wurden ggf. Probleme mit CVE-Sicherheit und Codeinkonsistenz behoben.
- Nicht behobene kleinere CVE-Probleme.
Empfohlene Maßnahmen
- Überprüfen Sie den Bericht, um die vorgenommenen Änderungen zu verstehen.
- Führen Sie alle vorgeschlagenen nächsten Schritte aus, um Ihre Modernisierung abzuschließen.
Abschließen der Modernisierung
Weitere Arbeiten zur Unterstützung Ihrer Modernisierung können folgendes umfassen:
-
**Gründliche Überprüfung** der anfänglichen Modernisierung und Codeänderungen. Stellen Sie sicher, dass die Codierungsstandards und bewährten Methoden Ihres Unternehmens erfüllt sind. -
**Genaues Überprüfen des geänderten** Codes. Überprüfen Sie beispielsweise, ob der generierte Code dem Zweck und der Architektur Ihres Projekts entspricht. Weitere Vorschläge finden Sie unter [AUTOTITLE](/copilot/tutorials/review-ai-generated-code). -
**Fehlerkorrektur**. Überprüfen Sie bestimmte Inhalte auf subtile Fehler, und verwenden Sie Ihre eigenen Debugging- und Lintingtools, um neue Inhalte auszuwerten. -
**Schreiben von Tests** und Identifizieren von Testlücken für das aktualisierte Projekt. -
**Aufräumen** des Projekts durch Entfernen aller Dateien, die nicht mehr benötigt werden. -
**Refactoring** des Codes in der neuen Sprache. Der Modernisierungsprozess hat möglicherweise zu einem Projekt geführt, dessen Architektur auf dem ihres ursprünglichen Projekts basiert, aber das ist nicht mehr die ideale oder optimale Lösung für Ihre Bedürfnisse. Möglicherweise möchten Sie den Code jetzt umgestalten, um features der Sprache und des verwendeten Frameworks optimal zu nutzen. -
**Dokumentation wird aktualisiert**. Ihre Projektinformationen und beitragenden Dateien sind möglicherweise nicht mehr aktuell und müssen neu geschrieben werden. -
**Containerisierung**. Aktualisieren Sie Ihren Anwendungscode, generieren Sie Containerisierungsdateien wie Dockerfiles, und erstellen Sie das Image, um die Gültigkeit zu testen. Bei Bedarf kann Copilot diese Aufgaben der Containerisierung übernehmen und außerdem einen umfassenden Plan erstellen, der die nächsten Schritte beschreibt. -
**Bereitstellen** der modernisierten Anwendung in Ihren Zielumgebungen, einschließlich Cloudplattformen wie Microsoft Azure.