IntelliJ IDEA 2024.1 ヘルプ

Maven 依存関係

IntelliJ IDEA を使用すると、プロジェクト内の Maven 依存関係を管理できます。Maven 依存関係を追加、インポートし、ダイアグラムで表示し、分析することもできます。

Maven 依存関係を追加する

IntelliJ IDEA を使用すると、プロジェクトに Maven 依存関係を追加できます。POM 内で依存関係を指定することをお勧めします。IntelliJ IDEA モジュール設定内で手動で設定した依存関係は、次回の Maven プロジェクトの再ロード時に破棄されます。

  1. エディターで POM を開きます。

  2. Alt+Insert を押して、生成コンテキストメニューを開きます。

  3. コンテキストメニューから依存を選択します。

  4. Maven アーティファクト検索ツールウィンドウの検索フィールドで、依存関係の名前の入力を開始します。結果のリストで必要なものを選択し、追加をクリックします。

    Maven Artifact Search

    IntelliJ IDEA は、pom.xml に依存関係を追加します。

    the Maven Tool Window

    IntelliJ IDEA は、Maven ツールウィンドウの依存関係ノードとプロジェクトツールウィンドウの外部ライブラリにも依存関係を追加します。

    追加された依存関係に独自の推移的な依存関係がある場合、IntelliJ IDEA はそれらを両方のツールウィンドウに表示します。

    the Maven tool window

アノテーションプロセッサーを有効にする

  1. POM ファイルを開きます。

  2. annotationProcessors および annotationProcessorPaths オプションを指定してください。

    例: 次のコードを確認してください:

    <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <annotationProcessorPaths> <path> <groupId>org.sample</groupId> <artifactId>sample-annotation-processor</artifactId> <version>1.2.3</version> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build>

    詳細は、Maven(英語) を参照してください。

  3. プロジェクトを再インポートします。IntelliJ IDEA は、アノテーションプロセッサープロファイルを作成し、アノテーション処理を有効にして、設定 | ビルド、実行、デプロイ | コンパイラーにあるアノテーションプロセッサー設定に適切なパスを追加します。

    Annotation processors settings

依存関係情報の一元化

マルチモジュール Maven プロジェクトでは、親 POM の依存関係がすべてのサブプロジェクトに継承されます。dependencyManagement を使用して統合し、依存関係のバージョンの管理を一元化する(英語)を使用できます。

  1. エディターで POM を開きます。

  2. Alt+Insert を押して、生成コンテキストメニューを開きます。

  3. コンテキストメニューから、管理対象の依存関係オプションを選択すると、マルチモジュールプロジェクトの親 POM の dependencyManagement セクションで定義されている依存関係のリストが表示されます。IntelliJ IDEA は、BOM ファイル(英語)からの依存関係のリストも表示します。

    the Choose Dependency dialog
  4. 目的の依存関係を選択し、OK をクリックします。依存関係が POM に追加されます。DependencyManagement から取得される依存関係のバージョンを指定する必要はありません。

    dependency management

    ただし、定義済みのバージョンを上書きする場合は、POM に管理依存関係を追加するときに version を含める必要があります。

Maven 依存関係のスコープを追加する

POM を使用して、依存関係のスコープ(英語)を追加できます。この場合、IntelliJ IDEA は指定されたフェーズで依存関係を実行します。

  1. POM では、依存関係の記述で scope を追加し、コード補完を使用してスコープの名前を追加します。

    the dependency scope
  2. 変更をインポートします。スコープの名前が Maven ツールウィンドウに表示されます。プロジェクト構造ダイアログのモジュールページでは、依存関係の範囲も表示されます。

    the Project Structure dialog

    プロジェクト構造ダイアログで依存関係の範囲を変更しても pom.xml ファイルには影響しません。

依存関係を定義するときに、Maven スコープシステム(英語)を使用して、カスタム jar ファイルを依存関係として追加することもできます。ただし、この依存関係は自分のマシンでのみ使用可能であり、ローカルのデプロイに対してのみ使用できることに注意してください。

Maven 推移的依存関係を処理する

追加またはインポートされた Maven 依存関係でプルされた推移的な依存関係(英語)を表示できます。それらのバージョンを確認したり、変更したり、それらの依存関係を完全に除外したりできます。

Maven ツールウィンドウには、直接依存関係と、引き込まれたすべての推移的依存関係が表示されます。

推移的な依存関係を表示する

  1. プロジェクトの POM で、Ctrl を押し、依存関係の上にマウスを置きます。

  2. 依存関係をクリックして、依存関係の POM を開きます。

    the dependency POM
  3. 依存関係 POM では、アクティブな依存関係、その推移的な依存関係、そのバージョンを表示します。

    the dependency POM with transitive dependencies

    依存関係が引き込まれた起点をチェックすることができます。

    the dependency POM with origin

推移的な依存関係を除外する

必要に応じて推移的な依存関係を除外することができます。

  1. 依存関係 POM を開き、除外する推移的依存関係を見つけます。groupIdartifactId をコピーします。

  2. プロジェクト POM で、アクティブな依存関係に exclusions と入力し、コード補完を使用して、除外する依存関係のコピー情報を貼り付けます。

    POM with dependency exclusion

    依存関係は、プロジェクトおよび Maven ツールウィンドウからも除外されます。

Maven 依存関係をインポートする

Maven プロジェクトに依存関係をインポートできます。IntelliJ IDEA は、追加された依存関係をインポートすると、依存関係を解析してプロジェクトを更新します。

  • pom.xml ファイルに、必要な依存関係を追加します。pom.xml を変更すると、IntelliJ IDEA は変更のロードを提案する通知を表示します。エディターで Load the changes をクリックして、依存関係をインポートし、プロジェクトを更新します。

  • Maven ツールウィンドウで、Reimport All Maven Projects を押します。この場合、すべてのプロジェクトとその依存関係の再インポートプロセスを手動でトリガーします。

Maven の依存関係をダイアグラムとして表示する

IntelliJ IDEA を使用すると、Maven の依存関係をダイアグラム形式で表示して操作できます。

ダイアグラムを生成する

  1. Maven ツールウィンドウのツールバーで、the Show Dependencies icon をクリックするか、コンテキストメニューから適切なオプションを選択します。

    Show Dependencies
  2. ダイアグラムウィンドウに、IntelliJ IDEA はサブプロジェクトと、推移的なものを含むそのすべての依存関係を表示します。

    the Maven dependencies diagram

ダイアグラム構造を表示する

  1. ダイアグラムを生成します。

  2. 左側のツールバーの構造をクリックします。IntelliJ IDEA は、構造ツールウィンドウを開きます。このウィンドウには、選択したブロックとその隣接ブロックの小さなプレビューを含むダイアグラムのマップが表示されます。

    the Structure view

    コンテキストメニューを使用して、ズームインとズームアウト、キャンバスの移動、レイアウトの変更、ダイアグラムの一部のイメージへのエクスポートを行います。

    the context menu

ダイアグラムウィンドウでさまざまなアクションを実行できます。

可視性レベルを変更する

可視性レベルを変更したり、特定のスコープを持つ依存関係を表示したり(コンパイル、テストなど)できます。

  1. ダイアグラムウィンドウでサブプロジェクトを選択し、the Change Visibility Level icon をクリックします。

  2. リストから、表示したい依存関係の範囲を選択します。IntelliJ IDEA は、指定された依存範囲のみを表示します。

    the Specific scope diagram

POM に移動する

ダイアグラムウィンドウから POM に簡単に移動できます。

  • 目的のノードを選択し、F4 を押すか、コンテキストメニューでソースに移動を選択します。対応するファイルがエディターで開きます。

ダイアグラムウィンドウの the Conflicts and Duplicates アイコンをクリックすると、競合や重複を確認できます。

競合と重複を確認する

  • ダイアグラムウィンドウで、the Conflicts and Duplicates アイコンをクリックします。

Show conflicts and duplicates

赤い矢印は、重複またはエラーを含む依存関係を示しています。IntelliJ IDEA はまた、競合を解決するのに役立つ依存関係のバージョンも表示します。依存関係をダブルクリックしてその POM を開きます。

選択からルートまでのパスを表示する

依存関係を選択し、それらがプロジェクトにどのように含まれるかを確認できます。

  1. ダイアグラムウィンドウで、プロジェクトへの接続を確認したい依存関係を選択します。一度に複数の依存関係を選択したい場合は、Shift を押しながら選択してください。

  2. the Show Path Root Selection をクリックします。

Show Path Root Selection

選択したノードの近隣を表示

依存関係を選択して、選択したノードに接続されている他の依存関係を確認できます。大きなダイアグラムがあり、その一部だけに注目したい場合に役立ちます。

  1. ダイアグラムウィンドウで、必要な依存関係を選択します。一度に複数の依存関係を選択したい場合は、Shift を押しながら選択してください。

  2. the Show Neighbors of Selected Nodes をクリックします。

    Show Neighbors of Selected Nodes

依存関係を除外する

ダイアグラムを使用して、プロジェクトの POM から依存関係を除外できます。

  1. ダイアグラムウィンドウで依存関係を選択します。

    Exclude diagrams
  2. コンテキストメニューから除外を選択します。

  3. リストから、除外定義を追加するモジュール(ある場合)を選択します。選択した依存関係がダイアグラムから削除され、exclusion セクションがモジュールの POM の対応する依存関係に追加されます。

    Exclude a dependency

依存関係アナライザー

Maven 依存関係アナライザーを使用すると、解決済みの依存関係、未解決の依存関係、競合のある依存関係、プロジェクトとサブプロジェクトの推移的な依存関係をすばやく確認して分析できます。

依存関係の解析

  1. Maven ツールウィンドウのツールバーで、the Analyze Dependencies をクリックします。

    または、Maven ツールウィンドウで、必要な依存関係を右クリックし、コンテキストメニューから依存関係の解析を選択します。プロジェクトビューでモジュールを右クリックして、同じアクションを使用することもできます。

    Resolved dependencies
  2. 依存関係アナライザーウィンドウでは、分析範囲を絞り込んだり、競合する依存関係のみを確認したり、使用状況を確認したりできます。

    必要な依存関係を pom.xml ファイルで確認したい場合は、依存関係を右クリックして Maven 依存関係に移動を選択します。特定の依存関係で Maven 設定を開くをクリックすると、IntelliJ IDEA は依存関係の POM ファイルを開きます。

    パッケージ検索に移動をクリックして、依存関係ツールウィンドウを操作する内の該当の依存関係に移動することもできます。

    重複する依存関係が見つかった場合は、グレー表示されます。

    duplicate dependencies

    依存関係アナライザーウィンドウで使用可能なオプションとアイコンの詳細については、リファレンスセクションを参照してください。

依存関係アナライザーツールウィンドウリファレンス

項目

説明

スコープ

プロジェクトですべての依存関係が使用されているスコープを確認できます。スコープ(英語)に基づいて依存関係のリストを絞り込むには、スコープのリストから適切なオプションを選択します。

Dependency analyzer: dependency scope

競合のみを表示

the Conflicts icon をクリックして、未解決または競合する依存関係のみを表示します。

Dependencies with conflicts

グループ ID の表示

Show GroupId をクリックし、グループ ID の表示を選択して、依存関係のリストにグループ ID(英語) を表示します。

ツリー表示

Show as Tree を切り替えて、依存関係のリストをノードの形式またはフラットリストで表示します。

ツリービューは、推移的な依存関係をすばやく確認できます。

展開 / 折りたたみ

the Expand All icon / the Collapse All icon を使用して、依存関係のリストを展開または折りたたみます。

関連ページ:

Maven

IntelliJ IDEA は Maven との完全な機能統合をサポートしており、構築プロセスの自動化に役立ちます。新しい Maven プロジェクトを簡単に作成したり、既存のプロジェクトを開いて同期したり、既存の IntelliJ IDEA プロジェクトに Maven サポートを追加したり、マルチモジュールプロジェクトを構成および管理したりできます。Maven プロジェクトを作成して WSL 環境に保存したり、WSL ファイルシステムから開いたりすることもできます。詳細については、WSL のセクションを...

モジュール

IntelliJ IDEA では、モジュールはプロジェクトの重要な部分であり、プロジェクトと一緒に自動的に作成されます。プロジェクトには複数のモジュールを含めることができます。新しいモジュールを追加し、グループ化し、現時点では必要のないモジュールをアンロードできます。通常、モジュールは 1 つまたは複数のコンテンツルートとモジュールファイルで構成されますが、モジュールはコンテンツルートがなくても存在できます。コンテンツルートは、コードを保存するフォルダーです。通常、ソースコード、単体テスト、リソ...

アノテーションプロセッサーを構成する

コンパイル時にカスタムアノテーションを処理するように IntelliJ IDEA を構成できます。アノテーションを処理するためにコンパイル時にコードを生成するプロセスは、アノテーション処理と呼ばれます。アノテーションプロセッサーは、アノテーションに基づいてコードを検証、生成、変更できます。これにより、記述する必要のあるコードの量を大幅に削減できます。アノテーションプロセッサーはプロジェクト内に保存できます。この場合、IntelliJ IDEA はそれをクラスパスから取得します。アノテーションプロ...

Maven ツールウィンドウ

Maven プロジェクトを作成または開くと、Maven ツールウィンドウが自動的に有効になります。Maven ツールウィンドウを使用して、利用可能な Maven プロジェクトを表示し、ソースと Javadoc をダウンロードし、ビルドライフサイクルのフェーズを実行します。ツールウィンドウには、ライフサイクル、プラグインサブノードとともに、各 Maven プロジェクトのノードが表示されます。pom.xml ファイルの少なくとも 1 つにプロファイル定義が含まれている場合、プロファイルノードがツールウィン...

Maven プロジェクト

IntelliJ IDEA を使用すると、Maven プロジェクトを管理できます。リンク、プロジェクトの無視、Maven および IntelliJ IDEA プロジェクトの変更の同期、ビルドおよび実行アクションの構成を行うことができます。POM に移動する Maven ツールウィンドウで、リンクされたプロジェクトを右クリックします。コンテキストメニューからソースに移動を選択します。IntelliJ IDEA は適切な Maven 構成ファイルに移動し、関連する POM がエディターで開きます。Maven...

プラグインのインストール

プラグインは IntelliJ IDEA のコア機能を拡張します。例: プラグインをインストールして、次の機能を取得します。バージョン管理システム、課題追跡システム、ビルド管理サーバー、その他のツールとの統合。さまざまな言語とフレームワークのコーディング支援サポート。ショートカットのヒント、ライブプレビュー、ファイルウォッチャーなど。新しいプログラミング言語を学ぶのに役立つコーディング演習。プラグイン設定を開くを押して設定を開き、を選択します。マーケットプレースタブを使用して、JetBrains...