GitHub Copilotモダン化により、プロジェクト分析や計画生成からコード変換、ビルド検証、CVE 修復まで、ワークフローをエンドツーエンドでJavaアップグレードする AI を活用したエージェントエクスペリエンスが提供されます。
サポートされているアップグレード シナリオ
- Java Development Kit (JDK) を Java 11、17、21、または 25 にアップグレードします。
- Spring Boot をバージョン 4.0 にアップグレードします。
- Spring Framework をバージョン 7.x にアップグレードします。
- Java EE を Jakarta EE(最大 Jakarta EE 11)にアップグレードします。
- JavaのAzure SDKをアップグレードします。
- JUnit をアップグレードします。
- サードパーティの依存関係を指定されたバージョンにアップグレードします。
[前提条件]
- GitHub Copilot が有効になっている GitHub アカウント。 Free レベル、Pro、Pro+、Business、または Enterprise プランが必要です。
- Java JDKは、ソース JDK バージョンとターゲット JDK バージョンの両方に使用されます。
- Maven または Gradle Java プロジェクトをビルドします。
- Maven または Gradle を使用する Git マネージド Java プロジェクト。
- Maven ベースのプロジェクトの場合: パブリック Maven Central リポジトリへのアクセス。
- 最新バージョンの Visual Studio Code。
-
Visual Studio Code 内の GitHub Copilot セットアップ手順については、「
Visual Studio Code を参照してください。 必ず、Visual Studio Code内のGitHub アカウントにサインインしてください。 - GitHub Copilotのモダン化。 インストール後にVisual Studio Codeを再起動します。
- 最新バージョンの IntelliJ IDEA。
- GitHub Copilot。 詳細については、「 IntelliJ IDEA でGitHub Copilotを設定するを参照してください。 必ず IntelliJ IDEA 内のGitHub アカウントにサインインしてください。
- GitHub Copilotのモダン化。 インストール後に IntelliJ IDEA を再起動します。 GitHub Copilotをインストールしていない場合は、最新化GitHub Copilot直接インストールできます。
- GitHub Copilotモダン化をより効率的に使用するには、IntelliJ IDEA の設定で Tools>GitHub Copilot 構成ウィンドウを選択し、 自動承認 と Trust MCP ツール注釈 を選択します。 詳細については、「 IntelliJ のエクスペリエンスを最適化するためにGitHub Copilotモダン化の設定を構成する」を参照してください。
GitHub Copilot CLIをインストールします。
npm install -g @github/copilotGitHub Copilotモダン化プラグインをインストールします。
copilot plugin marketplace add microsoft/modernize-java copilot plugin install modernize-java@modernize-java
注
Azure アカウントは、リソースをAzureにデプロイする場合にのみ必要であり、コードを変更するためにGitHub Copilotモダン化を使用する場合は必要ありません。
Gradle を使用している場合は、Gradle ラッパー バージョン 5 以降のみがサポートされます。
Kotlin ドメイン固有言語 (DSL) はサポートされていません。
アップグレードするJava プロジェクトを選択する
このチュートリアルでは、次のサンプル リポジトリのいずれかを選択します。
- Maven: uportal-messaging
- Gradle: docraptor-java
アップグレードを起動する
アップグレード プロセスを開始するには、次の手順に従います。
選択したJava プロジェクトをVisual Studio Codeで開きます。
サイドバーで、GitHub Copilot モダン化 パネルを開き、[クイック スタート] ページを表示します。
Upgrade Java Runtime & Frameworksを選択します。
このアクションにより、GitHub Copilot Chatがエージェント モードで開き、アップグレード プロセスが自動的に開始されます。
ヒント
また、クイック スタート パネルの下の [タスク ] ツリーから特定のタスク (Spring Boot Version のアップグレード や Jakarta EE バージョンのアップグレードなど) を選択して、対象のアップグレードをトリガーすることもできます。
または、エージェント モードを使用して GitHub Copilot Chatに直接入力することもできます (例: "Java プロジェクトを Java 21" にアップグレードしてアップグレードを開始します。
アップグレード プロセスを開始するには、次の手順に従います。
IntelliJ IDEA で選択したJava プロジェクトを開きます。
サイドバーで、GitHub Copilot モダン化 パネルを開き、[クイック スタート] ページを表示します。
[ ランタイムのアップグレード] と [フレームワーク] を選択します。
このアクションにより、GitHub Copilot Chatがエージェント モードで開き、アップグレード プロセスが自動的に開始されます。
ヒント
エージェント モードを使用して GitHub Copilot Chatに直接入力することもできます 。たとえば、"Java プロジェクトを Java 21" にアップグレードしてアップグレードを開始します。
アップグレード プロセスを開始するには、次の手順に従います。
ターミナルを開き、Java プロジェクト ディレクトリに移動します。
upgrade コマンドを実行します。
copilot --model claude-sonnet-4.6 --agent modernize-java:modernize-javaエージェントの起動後、アップグレード要求を入力します。
upgrade to Java 21 + Spring Boot 3.5.x
アップグレード ターゲットの選択
アップグレードを開始すると、エージェントによってターゲット バージョンの選択が求められます。 目的のJavaバージョンを選択し、該当する場合はプロジェクトの Spring Boot バージョンを選択します。
アップグレード 計画を確認して編集する
GitHub Copilotモダン化では、JDK、ビルド ツール、依存関係など、現在のワークスペース内のJava プロジェクトが分析されます。 このツールは、次を含む plan.md ファイルを生成します。
- 使用可能なツール — 環境内で JDK とビルド ツールが検出されました。
- ガイドライン - アップグレード プロセスのユーザー指定の制約。
- オプション - 作業ブランチとテスト構成。
- アップグレードの目標 - 各コンポーネントのソース バージョンとターゲット バージョン。
- テクノロジ スタック - 非互換性の理由による依存関係の互換性分析。
- 派生アップグレード — プライマリ ターゲットで必要な追加のアップグレード (たとえば、Spring Boot 3.x にアップグレードするときに javax → jakarta 名前空間の移行)。
- 影響分析 - 依存関係の変更、ソース コードの変更、構成の変更、CI/CD の変更、およびリスクの詳細な内訳。
- アップグレード手順 — 論理的根拠と検証基準を使用して順序付けされた移行手順。
計画を確認し、必要に応じて変更を加え、続行することを確認します。 カスタマイズの詳細については、「 アップグレード 計画のカスタマイズ」を参照してください。
ヒント
プランが目的のアップグレード ターゲットと一致していることを確認します (たとえば、Java 8 から Java 21、Spring Boot 1.5 から 3.5 など)。
アップグレードを実行する
計画を確認すると、エージェントは自動的にコード変換フェーズに進みます。 このプロセスの一環として、次のタスクが実行されます。
- ターゲット バージョンとの互換性を確保するために、コードファイルと構成ファイルを変更します。
- ビルド検証を実行して、各ステップでプロジェクトが正常にコンパイルされたことを確認します。
- プラン オプションでテスト検証が有効になっている場合に実行します。
エージェントは、すべてのステップが正常に完了するまで、各アップグレード ステップを反復処理します。 エディターで progress.md ファイルを確認することで、進行状況をいつでも監視できます。
CVE の検証と修正
コード変換の手順が完了すると、エージェントは一般的な脆弱性と露出 (CVE) の問題の依存関係を自動的にスキャンします。 CVE が見つかった場合、エージェントは影響を受ける依存関係をアップグレードして修正します。手動による介入は必要ありません。 その後、最後の検証手順が実行され、CVE の修正後もすべてがビルドされ、テストに合格することを確認します。
概要の表示
アップグレード後、ツールは summary.md ファイルを生成します。これには次のものが含まれます。
- エグゼクティブサマリー - アップグレードされた内容と結果の 1 段落の概要。
- アップグレードによる改善点 — 主な利点を示した、アップグレード前後の比較表。
- ビルドと検証 — ビルドの状態とテスト結果。
- 制限事項 — アップグレード後に修正できない問題が残っている場合。
- 推奨される次の手順 — 単体テストの生成や、修正されていない残りの CVE への対処など、推奨されるフォローアップ アクション。
- 追加の詳細 — プロジェクト メタデータ、コードの変更、CVE スキャン結果。