{"meta":{"title":"GitHub Copilotを使用したJava アプリケーションの最新化","intro":"GitHub Copilot は、コードベースの評価、アップグレード パスの識別、修復タスクとコンテナー化タスクの自動化によって、Java アプリケーションの最新化と移行に役立ちます。","product":"GitHub Copilot","breadcrumbs":[{"href":"/ja/enterprise-cloud@latest/copilot","title":"GitHub Copilot"},{"href":"/ja/enterprise-cloud@latest/copilot/tutorials","title":"チュートリアル"},{"href":"/ja/enterprise-cloud@latest/copilot/tutorials/modernize-java-applications","title":"Java アプリケーションの最新化"}],"documentType":"article"},"body":"# GitHub Copilotを使用したJava アプリケーションの最新化\n\nGitHub Copilot は、コードベースの評価、アップグレード パスの識別、修復タスクとコンテナー化タスクの自動化によって、Java アプリケーションの最新化と移行に役立ちます。\n\n<!-- expires 2026-10-31 -->\n\n<!-- When this expires, check with the stakeholder for release #18998 on whether or not the content is still needed -->\n\nGitHub Copilot の Visual Studio Code アプリの最新化拡張機能は、古いフレームワーク、非推奨の API、アップグレード のブロックを特定することで、Javaアップグレードを自動化します。\nCopilot cloud agent はコードの変更を適用し、ビルド ファイルを更新し、ビルドと CVE の問題を自動的に解決します。 <!-- markdownlint-disable-line GHD046 -->\n\n拡張機能によって生成される推奨事項とレポートは、チームが新しいテクノロジを迅速に導入し、技術的負債を減らすのに役立ちます。\nCopilot では、実用的な手順と概要を使用してアップグレードを行い、手動での作業を減らしながら、移行を加速およびセキュリティで保護します。\n\n拡張機能、セットアップ、およびユーザー インターフェイスの手順については、Microsoftドキュメントの[ GitHub Copilot アプリモダン化に関するドキュメント](https://learn.microsoft.com/en-us/azure/developer/github-copilot-app-modernization/)を参照してください。\n\n## モダン化フレームワーク\n\n[Javaアップグレード拡張機能](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-upgrade)を使用してエージェント セッションを開始すると、拡張機能は次のフレームワークを使用してJava アプリケーションを最新化するのに役立ちます。\n\n* **評価タスクを実行します**。 拡張機能では、コード、構成、依存関係を分析して、アプリケーションの現在の状態を評価できます。\n* **カスタマイズ可能なモダン化計画を作成**します。 評価に基づいて、拡張機能は、必要なフレームワークやライブラリの更新を含む最新化パスを提案できます。\n* **問題の早期識別**。 拡張機能は、依存関係、古いライブラリと言語機能、および潜在的な移行の問題を識別します。 この拡張機能は、問題を修復するための実用的な戦略を提供します。\n* **プランをカスタマイズします**。 組織の標準とプラクティスの組み込み、特定のコンポーネントを除く、特定の機能や設計パターンの優先順位付けなど、アプリケーションの特定のニーズに合わせて最新化計画を編集します。\n* **プランを実装します**。 この拡張機能は、コード変更の適用、ビルド ファイルの更新、非推奨の API のリファクタリング、ビルドと構文の問題の解決に役立ちます。 拡張機能は、ビルド エラーを自動的に修正し、各手順の後にテスト検証を実行して、安定性とエラーのない変更を保証します。 <!-- markdownlint-disable-line GHD046 -->\n* **変更を確認します**。 拡張機能では、詳細なアップグレード レポートを生成し、適用された変更を要約し、対処されていない問題と最新化の残りの手順を一覧表示できます。\n* **単体テストを生成**します。 拡張機能は、既存のテストを自動的に評価し、新しいテスト ファイルを生成してワークスペースに追加します。 生成前および生成後のテスト結果をまとめたレポートが生成されます。\n* **アプリケーションをコンテナー化します**。 拡張機能では、Dockerfile を自動的に生成し、イメージをビルドし、最新化されたアプリケーションがコンテナー サービス (Azure Kubernetes Service (AKS)、Azure Container Apps (ACA)、AKS Automatic など) 内で実行されるようにすべてを検証できるため、デプロイとスケーラビリティが容易になります。\n* **デプロイの準備をします**。 この拡張機能は、スクリプトや構成などのデプロイ成果物を生成することで、コンテナー化とデプロイのためにアプリケーションを準備するのに役立ちます。\n* <c0> Azure\\</c0 への自動デプロイ>。 拡張機能は、最新化されたアプリケーションをAzureにデプロイまたはプロビジョニングしたり、必要な成果物とAzureリソースを生成したり、実行手順を実行したりするのに役立ちます。\n\nアプリケーション コードベースに対するチームの理解を向上させ、 Copilot を使用して時間と労力を節約し、次のような複雑な最新化タスクに役立てることができます。\n\n* リバース エンジニアリングとコード変換\n* 脆弱性と依存関係の分析、およびコード動作のチェックと修復\n* 資産、ドキュメント、およびアップグレード レポートの自動生成\n* テストの生成と評価\n* デプロイの自動化\n\n## モダン化ワークフローの概要\n\nこの例では、GitHub Copilot の Visual Studio Code アプリモダン化拡張機能を使用して、Java アプリケーションを最新化する手順の概要を説明します。\n\n前提条件と手順の詳細については、Microsoftドキュメントの「[Quickstart: GitHub Copilot アプリの最新化](https://learn.microsoft.com/en-us/java/upgrade/quickstart-upgrade)を使用してJava プロジェクトをアップグレードする」を参照してください。\n\n> \\[!NOTE]\n> モダン化ワークフローでは、特定のアクションを実行する前に、 Copilot cloud agent 確認を求められる場合があります。\n\n### 1. Java プロジェクトを開く\n\nVS Codeを使用してプロジェクト フォルダーを開きます。\n\n#### 推奨されるアクション\n\n* 続行する前に、プロジェクトが正常にビルドされていることを確認します。\n* ビルドの問題が発生した場合は、最新化プロセスを開始する前に、 Copilot を使用して解決できます。\n\n### 2. モダン化ワークスペースを開始する\n\nCopilot Chatを起動し、エージェント モードで新しいセッションを開始します。 使用可能なツールから、**GitHub Copilot Java用アプリの最新化 - アップグレード** を選択します。\n\n### 3. アップグレードの機会についてプロジェクトを分析する\n\nCopilot はコードベースをスキャンします。 分析には次のものが含まれます。\n\n* 古いフレームワーク (Spring Boot、Jakarta EE、Java SE バージョンなど) の検出。\n* 非推奨の API と古いパターンの識別。 <!-- markdownlint-disable-line GHD046 -->\n* アップグレードの機会に関する提案。\n\nエディターで結果と構造化されたアップグレード 計画を確認できます。次の内容が表示されます。\n\n* フレームワークと依存関係の現在および推奨されるバージョン。\n* 移行またはリファクタリングが必要なコードの場所。\n* アップグレードの阻害要因や互換性のない依存関係。\n\n#### 推奨されるアクション\n\n* アップグレードを続行する前に、モダン化計画を確認してカスタマイズします。\n\n### 4. Copilot アップグレードの推奨事項を適用する\n\nCopilotを使用して、コードの変更の適用または確認、ビルド ファイルの更新、API のリファクタリングを行います。\n\nビルド エラーが見つかった場合、プロジェクトが正常にコンパイルされるまで、 Copilot は修正とテストのループに入ることができます。\n\nCopilot cloud agent 自動変更には、次のものが含まれます。\n\n* 新しい依存関係バージョンの `pom.xml` または `build.gradle` ファイルを更新する。\n* プルリクエストを生成することまたは変更を直接コミットすること。\n* API 変更のコードのリファクタリング。 たとえば、 `javax.*` から `jakarta.*` 名前空間に移行します。\n* 破壊的変更に対処するためのコード変換の提案または適用。\n\nCopilot は、プロジェクトが正常にビルドされ、修正が必要な問題がなくなったまで、繰り返し処理され、エラーを修正し続けます。 直ちに修正を必要としない軽微な問題が残る可能性があります。 これらは、アップグレードの完了を妨げるものではありません。\n\n#### 推奨されるアクション\n\n* 受け入れる前に、差分エディターですべてのコード変更を確認します。\n* Copilotを使用して、コードの変更についてさらに説明し、文書化します。\n* 拡張機能のプロンプトが表示されたら、既知の CVE の変更された依存関係を確認し、一貫性のためにコードの動作を検証するオプションを受け入れます。\n* 残っている問題を確認し、その重要性を評価します。\n\n### 5. アップグレード レポートと推奨される次の手順を表示する\n\nアップグレード プロセスが完了すると、 Copilot は次を含む概要アップグレード レポートを生成します。\n\n* プロジェクト情報\n* コード行が変更されました。\n* 更新された依存関係。\n* 要約されたコードの変更。\n* CVE のセキュリティとコードの不整合の問題 (ある場合) を修正しました。\n* 修正されていない軽微な CVE の問題。\n\n#### 推奨されるアクション\n\n* レポートを確認して、加えられた変更を理解します。\n* 推奨される次の手順に従って、最新化を完了します。\n\n### モダン化の完了\n\n最新化をサポートするためのさらなる作業には、次のようなものがあります。\n\n* 初期の最新化とコードの変更を徹底的に**確認**します。 会社のコーディング標準とベスト プラクティスが満たされていることを確認します。\n* 変更されたコードを注意深く**確認する**。 たとえば、生成されたコードがプロジェクトの目的とアーキテクチャに適合していることを確認します。 その他の提案については、 [AI によって生成されたコードを確認する](/ja/enterprise-cloud@latest/copilot/tutorials/review-ai-generated-code) を参照してください。\n* **バグ修正**。 特定のコンテンツに微妙なエラーがないか確認し、独自のデバッグ ツールと linting ツールを使用して新しいコンテンツを評価します。\n* **テストを記述** し、アップグレードされたプロジェクトのテストのギャップを特定します。\n* ```\n            不要になったファイルを削除してプロジェクトを**クリーンアップ**します。\n  ```\n* ```\n            コードを新しい言語で**リファクタリング**します。 モダン化プロセスによって、元のプロジェクトのアーキテクチャに基づくプロジェクトが作成された可能性がありますが、それはもはやニーズに合った理想的または最適なソリューションではありません。 コードをリファクタリングして、使用されている言語とフレームワークの機能を最大限に活用することができます。\n  ```\n* **ドキュメントの更新**。 プロジェクト情報と投稿ファイルが古くなっている可能性があり、書き換える必要があります。\n* **コンテナー化**。 アプリケーション コードを更新し、Dockerfiles などのコンテナー化ファイルを生成し、イメージをビルドして有効性をテストします。 必要に応じて、 Copilot これらのコンテナー化タスクを実行し、次の手順を詳しく説明する包括的なプランを作成することもできます。\n* **Deploying** Microsoft Azure などのクラウド プラットフォームを含む、最新化されたアプリケーションをターゲット環境に移行します。\n\n<!-- end expires 2026-10-31 -->"}