モジュールの依存関係
モジュールは、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 を選択し、 をクリックします依存関係はそれらの名前とスコープによってソートできます。 と を使用して項目をリストの上下に移動することもできます。
関連ページ:
Maven
IntelliJ IDEA は、構築プロセスの自動化に役立つ Maven との完全な機能統合をサポートしています。新しい Maven プロジェクトの作成、既存のプロジェクトのオープンと同期、既存の IntelliJ IDEA プロジェクトへの Maven サポートの追加、マルチモジュールプロジェクトの構成と管理を簡単に行うことができます。Maven プロジェクトを作成して WSL 環境に保存したり、WSL ファイルシステムから開いたりすることもできます。詳細については、WSL のセクションを参照してくだ...
Gradle
IntelliJ IDEA は、Gradle との完全に機能的な統合をサポートし、構築プロセスの自動化を支援します。新しい Gradle プロジェクトを簡単に作成し、既存のプロジェクトを開いて同期し、リンクされた複数のプロジェクトを同時に操作して、管理できます。Gradle プロジェクトを作成して WSL 環境に保存したり、WSL ファイルシステムから開いたりすることもできます。詳細については、WSL のセクションを参照してください。新規 Gradle プロジェクトを作成する新規プロジェクトウィザー...
Maven 依存関係
IntelliJ IDEA を使用すると、プロジェクト内の Maven 依存関係を管理できます。Maven 依存関係の追加、インポート、ダイアグラムでの表示、分析を行うことができます。Maven 依存関係を追加する:IntelliJ IDEA を使用すると、プロジェクトに Maven 依存関係を追加できます。POM 内で依存関係を指定することをお勧めします。IntelliJ IDEA モジュール設定内で手動で設定した依存関係は、次回の Maven プロジェクトの再ロード時に破棄されます。エディターで P...
Gradle 依存関係
IntelliJ IDEA を使用すると、Gradle プロジェクトの依存関係を追加および管理できます。依存関係を追加して、ダイアグラムに表示できます。Gradle 依存関係を生成する:プロジェクトに追加された依存関係は、Gradle によって管理されます。依存関係を追加または管理する最良の方法は、build.gradle ファイルを使用することです。IntelliJ IDEA モジュール設定内で手動で設定した依存関係は、次の Gradle プロジェクトの再ロード時に破棄されます。Gradle 依...
コンテンツルート
IntelliJ IDEA のコンテンツは、ソースコード、ビルドスクリプト、テスト、ドキュメントを含むファイルのグループです。これらのファイルは通常、階層構造になっています。最上位フォルダーはコンテンツルートと呼ばれます。モジュールには通常、1 つのコンテンツルートがあります。コンテンツルートを追加することができます。たとえば、コードがコンピューター上の別の場所に格納されている場合には、これは便利です。同時に、モジュールはコンテンツルートなしで存在することができます。この場合、他のモジュールの依...
フレームワークを追加する (ファセット)
フレームワーク固有のアプリケーションを開発するために、IntelliJ IDEA はファセットを備えています。ファセットにはライブラリ、依存関係、テクノロジが含まれており、それらによってフレームワーク固有の設定を構成するための追加の UI 要素が提供されます。すべてのファセットがそのまま使用できるわけではないことに注意してください。それらの一部を使用できるようにするには、最初に必要なフレームワークのプラグインをインストールする必要があります。既存のプラグインの詳細については、「JetBrains...