IntelliJ IDEA 2026.1 Help

依存関係分析

複数のライブラリを使用する複数のモジュールを持つ大規模な Java プロジェクトがある場合、本質的な構造変更を必要とする操作は困難になる可能性があります。 例: ライブラリの 1 つを削除したり、API または新しいモジュールを抽出したり、 Java 9 Jigsaw(英語) モジュールに切り替えてアプリケーションをモジュール化したりする場合は、プロジェクト内の依存関係を分析して、変更によって何も壊れていないことを確認する必要があります。

IntelliJ IDEA には、アプリケーション内のモジュール、パッケージ、クラス間の 依存関係を分析し 、構造の変更に備えることができるツール、依存関係アナライザーがあります。

依存関係の解析

  1. メインメニューで コード | コードの解析 | 依存関係 へ移動します。

    または、特定のアイテムを分析する場合は、 プロジェクト ツールウィンドウでそのアイテムを右クリックして、 解析 | 依存関係の解析 を選択します。

  2. 開いたダイアログで、分析するファイルのスコープを指定します。

    分析範囲の選択

    必要なスコープがまだ作成されていない場合は、 the Add scope (Insert) icon をクリックして、開いたダイアログで 新しいスコープを定義します。

  3. テストコードを製品コードと一緒に分析する場合は、 テストソースを含める(T) オプションを選択します。

  4. 推移的な依存関係を分析し、必要なしきい値を指定する場合は、 推移的依存関係を表示する オプションを選択します。

    例: A は B に依存し、B は C に依存します。 しきい値を 1 に設定すると、IDE は A の B と C の依存関係を表示します。 しきい値を 0 に設定すると、A の B の依存関係のみが表示されます。

  5. 分析 をクリックして分析を実行します。

    分析が終了すると、結果が 依存関係ビューアー ツールウィンドウに表示されます。

  6. ツールウィンドウの左側のペインで、依存関係を検索するノードを選択します。

  7. 右側のペインで、選択したノードが依存しているノードを選択します。

    検索結果は、ツールウィンドウの下部ペインに表示されます。 ツールバーのオプションを使用して、検索結果を管理します。

    ツールウィンドウの依存関係分析結果

モジュール依存関係の解析

モジュール依存関係分析では、指定されたスコープに存在するすべてのモジュール、 プロジェクト構造 ダイアログの 依存関係タブで指定されたこれらのモジュール間の関係、およびモジュール間の循環依存関係が表示されます。

この型の分析を使用して、以前に定義した依存関係がプロジェクトにまだ存在していることを確認できます。

  1. メインメニューで コード | コードの解析 | モジュールの依存関係 へ移動します。

    プロジェクト ツールウィンドウでモジュールが選択されていない場合は、分析範囲を指定するよう求められます。 プロジェクト全体、現在のモジュール、モジュールグループを調べることができます。

    または、 プロジェクト ツールウィンドウでモジュールを右クリックし、 解析 | モジュール依存関係の解析 を選択します。

  2. モジュールの依存関係 ツールウィンドウが開き、選択したファイルスコープを持つすべてのモジュールが一覧表示されます。

    選択したモジュールで 循環依存関係が見つかった場合、それらはツールウィンドウの右側に表示されます。

    モジュール依存関係ツールウィンドウ
  3. ツリービューでモジュールを選択し、 モジュールの依存関係 ツールウィンドウのツールバーで the Analyze Dependencies button をクリックして、選択したモジュールに依存するモジュールを見つけます。

  4. 開いたダイアログで、分析するファイルのスコープを指定します。

  5. テストコードを製品コードと一緒に分析する場合は、 テストソースを含める(T) オプションを選択します。

  6. 推移的な依存関係を分析し、必要なしきい値を指定する場合は、 推移的依存関係を表示する オプションを選択します。

    例: A は B に依存し、B は C に依存します。 しきい値を 1 に設定すると、IDE は A の B と C の依存関係を表示します。 しきい値を 0 に設定すると、A の B の依存関係のみが表示されます。

  7. 解析 をクリックして分析を実行します。

    分析が終了すると、結果が 依存関係ビューアー ツールウィンドウに表示されます。

  8. ツールウィンドウの左側のペインで、依存関係を検索するノードを選択します。

  9. 右側のペインで、選択したノードが依存しているノードを選択します。

    検索結果は、ツールウィンドウの下部ペインに表示されます。 ツールバーのオプションを使用して、検索を管理します。

モジュール依存関係ツールウィンドウ

このツールウィンドウは、 モジュール依存関係の解析オプションを実行した後に使用可能になり、モジュール設定で定義されているモジュールの依存関係を表示します。 このツールウィンドウでは、依存関係の方向を変更し、ソースコードのより詳細な分析を実行できます。

ツールバーボタン

項目

説明

閉じる

現在のタブを閉じます。

依存関係の解析

依存関係分析スコープの指定 ダイアログを開いて依存関係を分析します。

逆方向の依存関係

依存関係の方向を変更します。

テストの依存関係を含める

テストの依存関係を含める。

コンテキストメニューのオプション

項目

ショートカット

説明

すべて展開 / すべて折りたたむ

Ctrl+NumPad +/Ctrl+NumPad -

すべてのノードを折りたたんだり展開したりします。

モジュール設定を開く

F4 Ctrl+Enter

プロジェクト構造 ダイアログ (Ctrl+Alt+Shift+S) の モジュールページ で、選択したモジュールの設定を開きます。

依存関係の解析

逆方向の依存関係を解析

循環的な依存関係の解析

これらのオプションの 1 つを選択して、依存関係を分析します。

循環的な依存関係の解析

循環依存関係を分析することで、指定されたスコープ内のパッケージ間の循環関係を検出できます。

例: パッケージ 1 のクラスがパッケージ 2 のクラスを参照し、パッケージ 2 のクラスがパッケージ 3 のクラスを参照し、パッケージ 3 のクラスがパッケージ 1 のクラスを参照するときにサイクルが発生します。

スキームの循環依存関係
  1. メインメニューで コード | コードの解析 | 循環的な依存関係の解析 へ移動します。

    または、 プロジェクト ツールウィンドウでアイテムを右クリックし、 解析 | 循環的な依存関係の解析 を選択します。

  2. 循環依存関係分析スコープの指定 ダイアログで、分析するファイルのスコープを選択します。

  3. テストコードを製品コードと一緒に分析する場合は、 テストソースを含める(T) オプションを選択します。

    循環依存を分析するためのスコープの選択
  4. OK(O) をクリックして分析を実行します。

    分析が終了すると、結果が 依存関係ビューアー ツールウィンドウに表示されます。

  5. ツールウィンドウの左側のペインで、循環依存関係を検索するノードを選択します。

  6. 検索結果は右ペインに表示されます。 ツールバーのオプションを使用して、検索結果を管理します。

    ツールウィンドウに表示される循環依存分析の結果

逆方向の依存関係を解析

この型の分析では、指定された分析範囲 (プロジェクト全体、モジュール、ファイル、バージョン管理されていないファイルなど) に依存する特定の範囲のファイル内の他のクラスまたはモジュールを見つけることができます。

特に大規模なプロジェクトでは、後方依存関係の分析に時間がかかる場合があります。

  1. メインメニューで コード | コードの解析 | 逆方向の依存関係を解析 へ移動します。

    または、特定のアイテムを分析する場合は、 プロジェクト ツールウィンドウでそのアイテムを右クリックして、 解析 | 逆方向の依存関係を解析 を選択します。

  2. ダイアログの 解析スコープ セクションで、依存関係を検索するプロジェクトの部分を指定します。

  3. テストソースを分析するには、 テストソースを含める(T) チェックボックスを選択します。

  4. 使用箇所の解析対象 セクションで、依存関係を検索するスコープを指定します。

    後方依存関係分析の実行
  5. 必要なスコープがまだ作成されていない場合は、 the Add scope (Insert) icon をクリックして、開いたダイアログで 新しいスコープを定義します。

  6. 分析が終了すると、結果が 依存関係ビューアー ツールウィンドウに表示されます。

  7. ツールウィンドウの左側のペインで、検索するファイルまたはファイルのスコープを選択します。

  8. 右側のペインで、選択した依存関係を検索するスコープを選択します。

    検索結果は、ツールウィンドウの下部ペインに表示されます。 ツールバーのオプションを使用して、検索を管理します。

依存関係ビューアー

分析が終了すると、 依存関係ビューアー ツールウィンドウが自動的に開き、結果が表示されます。 ツールウィンドウを手動で開くには、メインメニューの 表示 | ツールウィンドウ | 依存関係ビューアー に移動しますが、最初に分析を実行するようにしてください。

依存関係ビューアー は、次の領域で構成されています。

  • ツールウィンドウの上部にあるツールバー。 これらのボタンを使用して、依存関係をフィルタリングします。

  • ツールウィンドウの左側にある 分析コード ペインには、プロジェクトツリーが含まれています。 依存関係を検索するアイテムを選択すると、 親コード ペインが開きます。

  • 右側の 親コード ペインには、選択が依存するアイテムが表示されます。

  • 親コード ペインで項目を選択すると、ツールウィンドウの下部にある 使用箇所 ペインが開きます。

Analyzing backward dependencies

分析されたコードツールバーボタン

項目

ツールチップとショートカット

説明

閉じる

閉じる

ツールウィンドウの現在のタブを閉じます。

再実行

再実行 Ctrl+F5

同じタブで依存関係分析を再実行してください。

パッケージのフラット表示

パッケージのフラット表示

すべてのパッケージを単一レベルのツリービューとして表示します。

ファイルの表示

ファイルの表示

分析コード および 親コード ペインにファイルを表示します。 それ以外の場合、両方のペインにパッケージのみが表示されます。

モジュールの表示

モジュールの表示

ツリービューの対応するモジュールにアイテムを表示します。 それ以外の場合、プロジェクトアイテムはパッケージに表示されます。

モジュールのフラット表示

モジュールのフラット表示

ユーザー定義のモジュールグループごとにツリー内のアイテムを配置します。

スコープタイプ別にグループ化

スコープタイプ別にグループ化

ツリー内のアイテムをスコープ(本番、テスト、ライブラリなど)でグループ化します。

フィルター

不正のみ表示

無効な依存関係と無効な依存関係のみを表示します。

不正としてマーク

不正としてマーク

選択した依存関係を不正としてマークします。

設定

ルールの編集

依存関係分析用の ルールを定義します

テキストファイルにエクスポート

テキストファイルにエクスポート

分析結果をテキストファイルにエクスポートするか、クリップボードにコピーします。

依存関係を検証する

依存関係を分析する場合、それらの一部を分析プロセスから除外する必要がある場合があります。 依存関係を検証する オプションを使用してそれを行うことができます。

  1. 依存関係ビューアー ツールバーで、 Edit Rulesルールの編集 ボタンをクリックします。

    開いたダイアログで、無効な依存関係と有効な依存関係を説明するルールを宣言します。

  2. 作成するルールに応じて、ダイアログの必須セクションで 追加ボタン をクリックします。

    1. 使用を許可しない リストから、無効として認識される依存関係を選択します。

    2. リストから、選択した使用箇所が無効として扱われるファイルのスコープを選択します。

      必要なスコープがまだ作成されていない場合は、 the Add scope (Insert) icon をクリックして、開いたダイアログで 新しいスコープを定義します。

    1. 使用を許可する リストから、有効として認識される依存関係を選択します。

    2. 適用スコープ のリストから、選択した使用箇所が有効として扱われるファイルのスコープを選択します。 これらの使用箇所は、このスコープで使用される場合にのみ有効です。

      必要なスコープがまだ作成されていない場合は、 the Add scope (Insert) icon をクリックして、開いたダイアログで 新しいスコープを定義します。

  3. インポートステートメントの参照を無視する場合は、 import ステートメントをスキップする チェックボックスを選択します。

  4. 変更を適用して、ダイアログを閉じます。

    依存関係の検証ダイアログ

    依存関係ビューアーツールバー再実行ボタン をクリックして、新しいルールで分析を再実行します。

2026 年 3 月 30 日