この記事では、GitHub Copilot アプリの最新化を使用して、JDK ランタイムのアップグレードを必要とせずに Java フレームワークまたはサード パーティの依存関係をアップグレードする方法について説明します。
フレームワークのアップグレードを開始する
この種類のアップグレードを開始するには、エージェント モードでプロンプトを開始します。 例えば次が挙げられます。
upgrade this Java project to Spring Boot 3.2
互換性を扱う
現在の JDK バージョンが、指定された Spring Boot バージョン (たとえば、Spring Boot 3.2 の JDK 17 以降) と互換性がある場合、ツールはフレームワークのみのアップグレードを実行します。 ソース JDK とターゲット JDK の両方のバージョンは同じままであり、最初のプロンプトに従ってターゲットの Spring Boot バージョンが設定されます。
現在の JDK バージョンがターゲット フレームワーク のバージョンと互換性がない場合 (たとえば、JDK 8 から Spring Boot 3.2 にアップグレードする場合) は、フレームワークのアップグレードの実行に加えて、JDK をフレームワークで必要な最小サポートバージョン (この場合は JDK 17) に自動的にアップグレードします。
サード パーティ製ライブラリをアップグレードする
同様のプロンプトを使用して、サード パーティ製ライブラリをアップグレードすることもできます。 例えば次が挙げられます。
use the java upgrade tools to upgrade "com.google.inject.guice" to 6.0.0 in this java project
特定のサード パーティ製ライブラリ (たとえば、 Upgrade com.google.inject.guide to version 3.17.0 ) をアップグレードするように求めるプロンプトを開始すると、GitHub Copilot は現在のプロジェクトを分析し、要求された依存関係の更新のみに重点を置いたアップグレード 計画を生成します。
アップグレード中の Copilot の機能
このプロセスの一環として、Copilot は次のタスクを実行する場合があります。
- コードまたは構成ファイルを変更して、新しいライブラリ バージョンとの互換性を確保します。
- ビルド検証を実行して、プロジェクトが正常にコンパイルされたことを確認します。
- CVEチェックを実行し、セキュリティに関する問題を検出して表示します。
- テスト検証を実行して、新しいテストエラーが発生しないようにします。
この ターゲット アップグレード フロー を使用すると、透明性と制御によって依存関係を最新化できます。