Hinweis
„GitHub Copilot app modernization – upgrade for Java“ befindet sich derzeit in public preview, und Änderungen sind vorbehalten.
Einführung
GitHub Copilot kann dazu beitragen, den Prozess des Upgrades von Java-Apps zu optimieren. Die Visual Studio Code-Erweiterung „GitHub Copilot app modernization – upgrade for Java“ unterstützt jeden Schritt beim Upgrade der Laufzeit- und/oder Frameworkversion deines Java-Projekts.
- Analysieren des Projekts und der Abhängigkeiten zum Generieren eines Upgradeplans.
- Ausführen von Codetransformationen basierend auf dem Plan.
- Automatisches Beheben von Problemen während des Upgrades.
- Bereitstellen von detaillierten Protokollen, Commitverlauf und Ausgabe.
- Durchführen von Sicherheitsüberprüfungen (CVE) und Verhaltenskonsistenzüberprüfungen nach dem Upgrade.
- Zusammenfassung der wichtigsten Änderungen, einschließlich aktualisierter Abhängigkeiten und behobener Probleme.
- Generieren von Komponententests unabhängig vom Upgradeprozess.
Diese Lösung unterstützt sowohl Maven- als auch Gradle-Buildtools und erleichtert Upgrades zwischen den Java-Versionen 8, 11, 17 und 21.
Voraussetzungen
Zunächst benötigst du jedoch Folgendes:
- Einen GitHub Copilot Business- oder GitHub Copilot Enterprise-Abonnementplan.
- Die neueste Version von Visual Studio Code.
- Die Erweiterung „GitHub Copilot app modernization – upgrade for Java (preview)“, installiert in Visual Studio Code.
- Installierte Versionen von Quell- und Ziel-JDKs.
- Ein Git-basiertes Java-Projekt mit Maven oder Gradle.
- Zugriff auf das öffentliche Maven Central Repository für Maven-basierte Projekte.
- Vergewissere dich, dass
chat.extensionTools.enabled
in deinen Visual Studio Code-Einstellungen auftrue
festgelegt ist. Diese Einstellung wird möglicherweise von deiner Organisation gesteuert.
Hinweis
Für Gradle-Projekte werden nur wrapperbasierte Builds (Gradle v5 und höher) unterstützt. Projekte mit Kotlin DSL werden derzeit nicht unterstützt.
Upgraden eines Java-Projekts
1. Installieren der erforderlichen Erweiterung
Zunächst musst du die Erweiterung „GitHub Copilot app modernization – upgrade for Java (preview)“ für Visual Studio Code installieren.
- Öffne Visual Studio Code.
- Klicke auf „Extensions“.
- Suche nach „GitHub Copilot app modernization – upgrade for Java (preview)“ und klicke auf „Download“.
- Starte Visual Studio Code neu.
2. Verwenden von GitHub Copilot Chat im Agent-Modus und Generieren des Upgradeplans
Mit der Erweiterung kannst du GitHub Copilot weiterhin im Agent-Modus verwenden und einen Plan für dein Upgrade erstellen.
-
Öffne in Visual Studio Code das GitHub Copilot Chat-Panel.
-
Wähle unten im Chatpanel in der Dropdownliste den Modus Agent aus.
-
Gib einen Prompt ein, der den benötigten Upgradepfad beschreibt. Zum Beispiel:
„Upgrade project to Java 21 and Spring Boot 3.2“
-
Wenn du dazu aufgefordert wirst, klicke auf Continue, um einen Upgradeplan zu generieren.
3. Überprüfen und Bearbeiten des Upgradeplans
GitHub Copilot analysiert Struktur, JDK, Abhängigkeiten und Buildtool deines Projekts, bevor du einen plan.md
-Upgradeplan für deine spezifischen Umstände generierst, in dem Quell- und Ziel-JDK-Versionen und Upgradepfade für Frameworks und Bibliotheken beschrieben werden.
- Klicke auf die neue Registerkarte
plan.md
in Visual Studio Code. - Überprüfe und bearbeite bei Bedarf den Plan. Stelle sicher, dass die Versionen im Plan mit deinen Zielen und dem übereinstimmen, was du bereits angegeben hast.
- Wenn du fertig bist, klicke auf Continue, um fortzufahren.
4. Anwenden von Codeänderungen und Beheben von Buildproblemen
Als Nächstes beginnt GitHub Copilot mit der Transformation deines Projekts. Dies umfasst die Verwendung von OpenRewrite, um Codeänderungen über vordefinierte Rezepte anzuwenden und verbleibende Probleme mit Copilot über eine Build-/Fixschleife zu beheben.
- Wenn die Aufforderung „Run Upgrade Java code using OpenRewrite“ angezeigt wird, klicke auf Continue. Beachte, dass dieser Schritt einige Zeit in Anspruch nehmen kann.
- Wenn die Aufforderung „Run Build project and fix errors“ angezeigt wird, klicke auf Continue.
Du kannst den Fortschritt dieser Phase nachverfolgen. Zeige dazu die Datei progress.md
in Visual Studio Code an.
5. Überprüfen auf Sicherheitsrisiken (CVE) und Behavior Changes von Code
Zum Sicherstellen der Zuverlässigkeit und Sicherheit führt GitHub Copilot zusätzliche Überprüfungen durch.
-
Wenn die Aufforderung „Run Validate if any modified dependencies have known CVEs“ angezeigt wird, klicke auf Continue.
Wenn CVEs erkannt werden, versucht Copilot, sie zu beheben. Du kannst die Änderungen überprüfen und annehmen oder ablehnen.
-
Wenn die Aufforderung „Run Validate code behavior consistency“ angezeigt wird, klicke auf Continue.
Wenn Inkonsistenzen gefunden werden, versucht Copilot noch mal Korrekturen, und du kannst entscheiden, welche beibehalten werden sollen.
Am Ende dieses Prozesses erstellt das Tool das Projekt neu und führt eine endgültige Überprüfung aus. Der Prozess wird beendet, wenn nur geringfügige Probleme auftreten, die das Upgrade nicht blockieren. Andernfalls wird in einer Schleife zurückgegangen, um ausstehende Probleme zu beheben.
6. Anzeigen der Upgradezusammenfassung
Nach Abschluss generiert Copilot eine summary.md
-Datei in deinem Projektverzeichnis, die Folgendes enthält:
- Projektmetadaten.
- Geänderte Codezeilen.
- Aktualisierte Abhängigkeiten.
- Beschreibung der Codeänderungen.
- Gelöste CVEs und Inkonsistenzen.
- Verbleibende kleinere CVE-Probleme (falls vorhanden).