モジュールの依存関係
モジュールはSDK、JARファイル(ライブラリ)またはプロジェクト内の他のモジュールに依存することがあります。 コードをコンパイルまたは実行する際に、モジュールの依存関係リストはコンパイラまたはJVMの クラスパスを形成するために使用されます。
新しい依存関係を追加する
メインメニューで、 Ctrl+Alt+Shift+S に移動し、 をクリックします。
Alt+Insert をクリックして、依存関係の種類を選択します。
JAR またはディレクトリ: コンピューター上のファイルから Java アーカイブまたはディレクトリを選択します。
ライブラリ: 既存のライブラリを選択するか、新しいライブラリを作成してから、それを依存関係のリストに追加します。
モジュールの依存関係: プロジェクト内の別のモジュールを選択してください。

依存関係を削除
依存関係を削除する前に、それがプロジェクト内の他のモジュールで使用されていないことを確認してください。 そうするには、必要な依存関係を選択して Alt+F7 を押します。 コンテキストメニューの 使用箇所の検索 オプションを使用することもできます。
削除する依存関係を選択して
をクリックするか、 Alt+Delete を押します。
依存関係の解析
プロジェクトに依存関係が存在するかどうかをチェックし、正確な使用箇所を確認するには、依存関係分析を実行します。
メインメニューで、 Ctrl+Alt+Shift+S に移動し、 をクリックします。
必要な依存関係を右クリックし、 この依存関係を解析 を選択します。
ダイアログを閉じずに、複数の依存関係を 1 つずつ分析できます。 各解析の結果は、 依存関係ビューアー ツールウィンドウの個別のタブに表示されます。 必要な依存関係をすべて分析したら、 プロジェクト構造 ダイアログを閉じて結果を表示できます。
IntelliJ IDEA がプロジェクト内で依存関係の使用を検出しない場合、この依存関係を削除するように求められます。

依存関係のスコープを構成
依存関係スコープを指定する
依存関係スコープを指定すると、ビルドのどのステップで依存関係を使用するかを制御できます。 ソースがコンパイルされ、テストソースがコンパイルされ、コンパイルされたソースが実行され、テストが実行されるとき、クラスパスは異なる場合があります。
メインメニューで、 Ctrl+Alt+Shift+S に移動し、 をクリックします。
スコープ 列のリストから必要な範囲を選択します。
コンパイル: プロジェクトのビルド、テスト、実行(デフォルトのスコープ)が必要です。
テスト: 単体テストのコンパイルと実行に必要です。
ランタイム: ソースおよびテストソースのクラスパスに含まれますが、実行フェーズでのみ含まれます。
提供済み: プロジェクトの構築とテストに使用されます。
エクスポート オプションにより、これに依存するモジュールのコンパイルクラスパスを制御できます。マークされた項目は、依存するモジュールのコンパイルクラスパスに含まれます。

IntelliJ IDEA は、テストソースの依存関係を他のビルドツール(Gradle や Maven など)とは異なる方法で処理します。
モジュール(たとえばモジュール A)が他のモジュール(モジュール B)に依存している場合、IntelliJ IDEA は A のテストソースが B のソースだけでなくそれ自身のテストソースにも依存すると仮定します。 その結果、B のテストソースも対応するクラスパスに含まれます。
次の表は、可能な依存関係スコープのクラスパス情報をまとめたものです。
スコープ | ソース、コンパイル時 | ソース、実行時 | テスト、コンパイル時 | テスト、実行時 |
コンパイル | + | + | + | + |
テスト | - | - | + | + |
ランタイム | - | + | - | + |
提供済み | + | - | + | + |
依存関係を並べ替え
IntelliJ IDEA はリストで指定されているのと同じ順序で依存関係を処理するため、依存関係の順序は重要です。
コンパイル時に、依存関係の順序は、コンパイラー(javac)が対応する参照を解決するためのクラスを探す順序を定義します。 実行時に、このリストは、JVM がクラスを検索する順序を定義します。
依存関係をソートするには、 Ctrl+Alt+Shift+S を選択し、 をクリックします
依存関係はそれらの名前とスコープによってソートできます。 と
を使用して項目をリストの上下に移動することもできます。
