Jakarta Migration Mcp について
IntelliJ IDEA 向けの Java 移行プラグイン兼 MCP サーバーで、企業の Java チームやレガシーシステムの開発者による Java EE 8 の javax.* から Jakarta EE 9+ への移行を支援します。静的解析、依存関係スキャン、OpenRewrite によるリファクタリングで、リスクの把握と移行計画を行えます。
主な機能
- 01javax.* の使用箇所と移行リスクをスキャン
- 02依存関係と推移的な互換性を分析
- 03依存バージョンと移行戦略を提案
- 04OpenRewrite によるリファクタリング
- 05テスト範囲と重大なリスク領域を分析
活用シーン
- 01レガシー Java EE プロジェクトの移行リスクを評価
- 02依存ツリー内の javax.* 参照を特定
- 03Jakarta EE 移行のリファクタリングを実行・検証
MCP 対応
MCP ツールを JetBrains AI Assistant と連携し、移行判断やコード変更を支援します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
http://localhost:8080/mcp/sseclaude mcp add --transport sse JakartaMigrationMCP http://localhost:8080/mcp/sse{"mcpServers":{"JakartaMigrationMCP":{"type":"sse","url":"http://localhost:8080/mcp/sse"}}}Cursor で開く{"servers":{"JakartaMigrationMCP":{"type":"sse","url":"http://localhost:8080/mcp/sse"}}}VS Code で開く{"mcpServers":{"JakartaMigrationMCP":{"type":"sse","url":"http://localhost:8080/mcp/sse"}}}{"mcpServers":{"JakartaMigrationMCP":{"serverUrl":"http://localhost:8080/mcp/sse"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
🚀 Jakarta Migration(javax → jakarta)
IntelliJ 内で、Java EE → Jakarta EE の移行を分析、計画、自動化できます。
Java EE 8(javax.*)から Jakarta EE 9 以降へ、自信を持って移行できます。
このプラグインは移行を妨げる要因を検出し、依存関係を分析します。また、OpenRewrite を使用した安全なリファクタリングを支援します。
⚠️ 無料トライアルは一時的にご利用いただけません
無料トライアルは一時停止しています。再開したいと考えていますが、このプロジェクトを持続可能にするため、皆さまのご支援が必要です。
継続的な開発にかかる時間と労力を支えるため、**GitHub でこのプロジェクトをスポンサーする**ことをご検討ください。このプラグインによって移行作業の時間を大幅に節約できた場合は、Java コミュニティ全体に向けて機能の開発を続け、無料トライアルを再開できるよう、ぜひご支援ください。
プレミアム機能(高度なリファクタリング、プラットフォーム検出、高度なスキャン、PDF レポート、AI 支援による移行)は、有料サブスクリプションでご利用いただけます。無料プランには、移行リスク分析、依存関係スキャン、バージョンの推奨、戦略に関する分析情報が引き続き含まれます。
注:このプラグインの v1.0 をインストールすると、無料トライアルを引き続きご利用いただけます。
⚠️ なぜ重要なのか
javax.* から jakarta.* への移行は、単純な名前の変更ではありません。
- 依存関係が機能しなくなる
- フレームワークのアップグレードが必要になる
- アプリケーションサーバーの変更が必要になる
- 隠れた参照が実行時エラーを引き起こす
このプラグインは、早期のリスク特定と計画的な移行を支援します。
🔒 プライバシーと分析
匿名データの収集
このプラグインは、製品の改善に役立てるため、匿名の使用統計とエラーレポートを収集します。
収集するデータ:
- 匿名ユーザー ID(ランダムに生成される UUID)
- プラグインのバージョンと環境
- 使用イベント(クレジットの使用、アップグレードのクリック)
- エラーレポート(エラー発生時のスタックトレースを含む)
- 現在の UI タブと操作のコンテキスト
収集しないデータ:
- 個人情報や個人を特定できるデータ
- ソースコードやプロジェクトの内容
- IP アドレスや位置情報
- ユーザー名やメールアドレス
データの利用目的:
- 移行検出の精度向上
- バグやクラッシュの迅速な修正
- 最も役立つ機能の把握
- 今後の改善計画の策定
データの保存:
- すべてのデータは Supabase に安全に保存されます(GDPR に準拠)
- 匿名ユーザー ID は IDE の設定にローカル保存されます
オプトアウトの方法
いつでもデータ収集を無効にできます。
「About」タブから:
- File → Settings → Plugins → Jakarta Migration を開きます
- About タブをクリックします
- 「Usage Analytics」および/または「Error Reporting」をオフにします
- 変更は自動的に保存されます
オプトアウトした場合:
- 新たな使用イベントは収集されません
- 新たなエラーレポートは送信されません
- すでに収集された匿名データは Supabase に残ります
- プラグインの機能には影響しません。すべての機能を通常どおり利用できます
🛠️ IntelliJ IDEA プラグイン
ダウンロード
🔍 できること
📊 プロジェクトを分析する
- コードベース全体をスキャンして
javax.*の使用箇所を検出 - 移行を妨げる要因と互換性の問題を特定
- 移行に必要な作業量とリスクを見積もり
📦 依存関係を把握する
- Jakarta との互換性がある依存関係を検出
- 推移的依存関係を詳細にスキャンし、依存関係ツリー全体に隠れている
javax.*の参照を特定 - 互換性のあるバージョンを推奨
- 依存関係グラフでモジュール間の関係を可視化
🧠 移行を計画する
- 移行戦略を比較
- 必要なプラットフォームのアップグレード(Spring、アプリケーションサーバーなど)を特定
✅ 移行の準備状況を検証する
- 拡張テストカバレッジ分析:javax/jakarta の互換性を実際に検証する統合テストを検出
- 重大なリスク領域の検出:移行の問題があり、テストカバレッジも不十分なモジュールを特定
- 移行を考慮した信頼度スコアリング:モックを使用した単体テストより、実際の移行の問題を検出するテストを優先
📄 プロフェッショナルなレポートを生成
- HTML-to-PDF レポート:エグゼクティブサマリー付きの美しくプロフェッショナルなレポート
- 複数のテンプレート:プロフェッショナル、テクニカル、ミニマルなレポートスタイル
- 包括的な分析:依存関係、プラットフォーム、高度なスキャン、推奨事項
- コードを変更する前に、十分な情報に基づいて判断できます
⚡ 自信を持ってリファクタリング
- OpenRewrite を利用したリファクタリングレシピを適用
javax.*→jakarta.*に自動変換- 組み込みの履歴機能で変更を元に戻せます
🧪 高度なリファクタリング(プレミアム)
- 複雑な複数ステップのリファクタリングシーケンスを作成
- 適用する前に、分離されたサンドボックスの testcontainers でリファクタリングをテスト
- 実験履歴 — 結果を比較し、再実行し、過去の実験を複製
- リファクタリングでビルドが壊れないことを安全に検証
🤖 AI を活用した機能
- JetBrains AI Assistant と統合された MCP ツール
- 移行の判断やコード変更を支援
🧪 実験的な機能
- ランタイム分析 – ランタイムの問題を検出し、修正を提案
- レポート – 移行分析を PDF としてエクスポート
🧰 対応テクノロジー
- Java: 11、17、21、25
- ビルドツール: Maven、Gradle
- フレームワーク: Spring Boot 3+、Spring Framework 6+、Jakarta EE 9+
- アプリケーションサーバー: Tomcat 10+、WildFly 27+、Jetty 12+、Open Liberty 23+、Payara 7+、JBoss EAP 8+、WebSphere、WebLogic
- Jakarta API: Servlet、JSP、JPA、CDI、Bean Validation、JAX-RS、JAX-WS、JMS、WebSocket、JSON-B、JSON-P
🚀 はじめに
- 分析を実行 – プロジェクトをスキャンして
javax.*の使用箇所を確認 - 結果を確認 – リスクと移行に必要な作業を把握
- 戦略を策定 – 最適な移行アプローチを選択
- リファクタリング – OpenRewrite の自動化レシピを適用
- 検証 – 分析を再実行して、移行が成功したことを確認
⚙️ 技術詳細
- IntelliJ Platform 上に構築
- 安全な自動変換に OpenRewrite を使用
- ソースコード、依存関係、設定全体の静的解析を実行
- IntelliJ IDEA 2023.3+(Community および Ultimate)に対応
💡 無料版とプレミアム版
無料版
- 移行リスク分析
- 依存関係のスキャン
- バージョンの推奨
- 移行戦略に関する分析情報
プレミアム版
- ワンクリックのリファクタリング
- 高度なリファクタリング — サンドボックスの testcontainers でリファクタリングシーケンスをテスト
- プラットフォームの検出(フレームワーク、アプリケーションサーバー)
- 高度なスキャンと分析
- PDF レポート
- AI 支援による移行ツール
🎯 対象ユーザー
- Jakarta EE にアップグレードするエンタープライズ Java チーム
- レガシーな Java EE システムを保守する開発者
- Spring Boot 3+ または最新のアプリケーションサーバーに移行するチーム
技術ドキュメント
スクリーンショット
.gallery { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; } .gallery-item { width: 25%; /* Adjust based on desired columns */ box-sizing: border-box; } .gallery-item img { width: 100%; height: auto; object-fit: cover; border-radius: 8px; } @media (max-width: 768px) { .gallery-item { width: 50%; } } @media (max-width: 480px) { .gallery-item { width: 100%; } }
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。