IntelliJ IDEA 2018.3 Help

モジュールの操作

In IntelliJ IDEA, a module is an essential part of any project — it's created automatically together with a project. Projects can contain multiple modules — you can add new modules, group them, and unload modules you don't need at the moment.

モジュールはコンテンツ・ルートとモジュールファイルで構成されています。コンテンツ・ルートは、コードを保存するフォルダです。通常、ソースコード、単体テスト、リソースファイルなどのサブフォルダが含まれています。モジュールファイル( .iml ファイル)は、コンテンツまたはソースのルート、依存関係、ファセット内のフレームワーク固有の設定など、モジュール構成を保持するために使用されます。

コンテンツ・ルートの設定

Content in IntelliJ IDEA is a group of files that contain your source code, build scripts, unit tests, and documentation. These files are usually organized in a hierarchy. The top-level folder is called a content root

モジュールには通常、1つのコンテンツルートがあります。コンテンツルートを追加することができます。たとえば、コードがコンピュータ上の別の場所に格納されている場合には、これは便利です。

同時に、モジュールはコンテンツ・ルートなしで存在することができます。この場合、それらを他のモジュールの依存関係の集合として使用できます。

IntelliJ IDEAのコンテンツ・ルートディレクトリに folder アイコンが表示されます。

コンテンツ・ルートの追加

  1. ファイル | プロジェクト構造に移動するか、または Ctrl+Shift+Alt+Sを押します。

  2. プロジェクト設定セクションでモジュールを選択します。

  3. 必要なモジュールを選択し、ダイアログの右側にあるソースタブを開きます。

  4. コンテンツ・ルートの追加をクリックします。

  5. 新しいコンテンツ・ルートとして追加するフォルダを指定し、OKをクリックします。

    add new content root

コンテンツ・ルートを取り外す

  1. [ソース]タブで、削除するコンテンツルートを選択し、[ remove x icon]をクリックします。

  2. 削除を確認します。対応するフォルダは物理的に削除されないことに注意してください。

フォルダカテゴリ

コンテンツルート内のフォルダは、複数のカテゴリに割り当てることができます。

  • ソースルート Sources root

    コンパイルすべき生産コード。

  • 生成されたソースルート icons modules generatedSourceRoot svg

    フォルダが生成済みとマークされている場合、IDEはこのフォルダ内のファイルが手動で作成されるのではなく自動的に生成され、再生成できると考えます。

  • テストソースルート Test Sources Root

    これらのフォルダを使用すると、テストに関連するコードを本番コードとは別に保つことができます。ソースとテストソースのコンパイル結果は、通常、異なるフォルダに配置されます。

  • 生成されたテストソースルート Generated Test Sources Root

    フォルダが生成済みとマークされている場合、IDEはこのフォルダ内のファイルが手動で作成されるのではなく自動的に生成され、再生成できると考えます。

  • リソース・ルート Resources Root (Javaモジュールでのみ使用可能)

    アプリケーションで使用されるリソースファイル(イメージ、構成XMLファイル、プロパティファイルなど)。ビルドプロセス中、リソースファイルはそのまま出力フォルダにコピーされます。

  • ロード・パス・ルート Load Path Root (Rubyプラグインが有効な場合のみ使用可能)

    ロード・パスは、 require および load ステートメントがファイルを探すパスです。

  • テスト・リソース・ルート Test Resources Root (Javaモジュールでのみ使用可能)

    これらのフォルダは、テストソースに関連付けられたリソースファイル用です。

  • 除外 Excluded

    除外されたフォルダ内のファイルは、コード補完、ナビゲーション、およびインスペクションによって無視されます。そのため、今必要でないフォルダを除外すると、IDEのパフォーマンスを向上させることができます。

    通常、コンパイル出力フォルダは除外としてマークされます。

    Apart from excluding the entire folders, you can also exclude specific files.

フォルダカテゴリを設定する

  1. プロジェクトツールウィンドウのフォルダを右クリックします。

  2. コンテキストメニューからディレクトリーをマークを選択します。

  3. 必要なカテゴリを選択します。

このようにして、カテゴリをサブフォルダに割り当てることもできます。

以前のカテゴリのフォルダを復元するには、このフォルダを再度右クリックし、ディレクトリーをマークを選択し、<フォルダカテゴリ>としてマークを解除を選択します。除外されたフォルダの場合は、除外のキャンセルを選択します。

プロジェクト構造 | モジュール | ソースでフォルダカテゴリを設定することもできます。

除外ファイル

特定のファイルは必要ありませんが、完全に削除したくない場合は、これらのファイルを一時的にプロジェクトから除外することができます。除外されたファイルは、コード補完、ナビゲーションおよびインスペクションでは無視されます。

ファイルを除外するには、ファイルをプレーンテキストファイルとしてマークする必要があります。除外されたファイルはいつでも元の状態に戻すことができます。

  1. プロジェクトツールウィンドウのディレクトリツリーで必要なファイルを右クリックします。

  2. メニューからプレーン・テキストとしてマークを選択します。

プレーンテキストファイルは、ディレクトリツリーの plain text icon アイコンでマークされています。

変更を元に戻すには、ファイルを右クリックし、メニューから<ファイルタイプ>としてマークを選択します。

名前パターンでファイルとフォルダを除外する

場合によっては、ファイルやフォルダを1つずつ除外するのは便利ではありません。例:ソースコードファイルと自動的に生成されたファイル(コンパイラなど)が同じディレクトリに置かれ、生成されたファイルのみを除外したい場合は、これは不便かもしれません。この場合、特定のコンテンツ・ルートの名前パターンを1つまたは複数設定できます。

選択したコンテンツ・ルートの中にあるフォルダまたはファイル名がパターンの1つと一致する場合、除外とマークされます。選択したコンテンツ・ルートの外側のオブジェクトは影響を受けません。

  1. ファイル | プロジェクト構造に移動するか、または Ctrl+Shift+Alt+Sを押します。

  2. プロジェクト設定セクションのモジュールをクリックし、モジュールを選択します。このモジュールに複数のコンテンツ・ルートがある場合は、ファイルまたはフォルダを除外するコンテンツ・ルートを選択します。

  3. ダイアログの下部にある除外ファイルフィールドに、パターンを入力します。例: *.aj を入力してAspectJファイルを除外します。

    複数のパターンを設定し、それらを ; (セミコロン)記号で区切ることができます。

Javaソースにパッケージ接頭辞を割り当てる

Javaでは、フォルダ構造を手動で構成する代わりに、パッケージ接頭辞をフォルダに割り当てることができます。パッケージプレフィックスは、ソースフォルダ、生成されたソースフォルダ、テストソースフォルダ、および生成されたテストソースフォルダに割り当てることができます。

  1. Ctrl+Shift+Alt+S を押してプロジェクト構造ダイアログを開き、モジュールを選択します。

  2. 必要なモジュールを選択し、ソースタブを開きます。

  3. 右側のウィンドウで、ソース・フォルダーまたはテスト・ソース・フォルダーの横にある icons modules setPackagePrefixRollover をクリックします。

  4. パッケージプレフィックスを指定し、OKをクリックします。

    package prefix

リソースの出力パスを変更する

プロジェクトをビルドするとき、リソースはデフォルトでコンパイル出力フォルダにコピーされます。出力フォルダ内に別のディレクトリを指定してリソースを配置することができます。

  1. Ctrl+Shift+Alt+S を押してプロジェクト構造ダイアログを開きます。

  2. モジュールを選択し、必要なモジュールを選択します。

  3. ダイアログの右側で、ソースタブを選択します。

  4. 右側のウィンドウで、リソース・フォルダーまたはテスト・リソース・フォルダーで、必要なフォルダ(フォルダパス)の右側にある rootPrefix をクリックします。

  5. 出力フォルダのルートに相対的なパスを指定し、OKをクリックします。

    resource properties project structure image

モジュールのグループ化

IntelliJ IDEAでは、モジュールを論理的にグループ化できます。複数のモジュールを含む大きなプロジェクトがある場合、グループ化するとプロジェクトをより簡単にナビゲートできます。

モジュールをソートするには、モジュールに完全修飾名を付けることができます。例:すべてのCDIモジュールをグループ化する場合は、 cdiを追加できます。それらの名前の接頭辞。

  1. プロジェクト構造ダイアログ(Ctrl+Shift+Alt+S)を開き、モジュールをクリックします。

  2. グループ化するモジュールを選択し、コンテキストメニューを開き、モジュール名を変更するをクリックします。

  3. プレフィックスを指定して変更を適用します。

プロジェクト構造ダイアログで同じレベルのすべてのモジュールを表示するには、モジュールをフラット化するコンテキストメニューオプションを使用します。

qualified names

手動モジュールグループを設定していれば、引き続き作業することができますが、修飾された名前は使用できません。修飾名を有効にするには、ファイル | モジュール・グループを修飾名に変換を参照してください。次のダイアログでは、新しいモジュール名を確認し、必要に応じて調整することができます。

Convert Module Groups to Qualified Names dialog

モジュール依存関係

モジュールは、SDK、JARファイル(ライブラリ)、またはプロジェクト内の他のモジュールに依存する可能性があります。コードをコンパイルまたは実行するときには、モジュールの依存関係のリストを使用して、コンパイラまたはJVMのクラスパスを形成します。

新しい依存関係を追加する

  1. ファイル | プロジェクト構造または Ctrl+Shift+Alt+Sを押します。

  2. モジュール | 依存関係を選択します。

  3. artwork studio icons common add をクリックするか、 Alt+Insertを押して、依存関係タイプを選択します。
    • JAR またはディレクトリー

    • ライブラリー。既存のライブラリを選択するか、新しいライブラリを作成してそれを依存関係のリストに追加することができます。

    • モジュール依存関係

依存関係を削除する

  • 依存関係を削除するには、それを選択して icons general remove svg をクリックするか、 Alt+Deleteを押します。

依存関係を削除する前に、プロジェクト内の他のモジュールで依存関係が使用されていないことを確認できます。これを行うには、必要な依存関係を選択し、 Alt+F7を押します。コンテキストメニューの使用箇所の検索オプションを使用することもできます。

依存関係スコープを指定する

依存関係スコープを指定すると、依存関係を使用するビルドのステップを制御できます。

  1. ファイル | プロジェクト構造または Ctrl+Shift+Alt+Sを押す

  2. モジュール | 依存関係を選択します。

  3. スコープ列のリストから必要な範囲を選択します。
    • コンパイル:プロジェクトのビルド、テスト、および実行に必要です(デフォルトスコープ)。

    • テスト:単体テストのコンパイルと実行に必要です。

    • ランタイム:プロジェクトをテストして実行するクラスパスの一部。

    • 提供済み:プロジェクトのビルドとテストに使用されます。

IntelliJ IDEAはテストソースの依存関係を他のビルドツール(GradleやMavenなど)とは異なる方法で処理します。モジュール(モジュールAなど)が別のモジュール(モジュールB)に依存している場合、IntelliJ IDEAはAのテストソースがBのソースだけでなく、独自のテストソースに依存しているとみなします。したがって、Bのテストソースも対応するクラスパスに含まれます。

依存関係の分析

プロジェクトに依存関係が存在するかどうかをチェックし、正確な使用状況を確認するには、依存関係分析を実行します。

  1. ファイル | プロジェクト構造または Ctrl+Shift+Alt+Sを押します。

  2. モジュール | 依存関係を選択します。

  3. 必要な依存関係を右クリックし、この依存関係を分析するを選択します。

ダイアログを閉じることなく、いくつかの依存関係を1つずつ分析することができます。各解析の結果は、ツールウィンドウの別のタブで開かれます。必要なすべての依存関係を分析したら、プロジェクト構造ダイアログを閉じて結果を表示できます。

IntelliJ IDEAがプロジェクトで依存関係の使用を検出しなかった場合は、この依存関係を削除するように求められます。

依存関係をソートする

依存関係の順序は、IntelliJ IDEAがリスト内で指定された順序と同じ順序で処理されるため、重要です。

コンパイル時に、依存関係の順序は、コンパイラ(javac)が対応する参照を解決するためのクラスを探す順序を定義します。実行時に、このリストは、JVMがクラスを検索する順序を定義します。

依存関係は、名前とスコープでソートできます。また、 icons actions previousOccurence svgicons actions nextOccurence svg のボタンを使って項目を上下に移動することもできます。

フレームワークとテクノロジのサポートを追加する

フレームワーク固有のアプリケーションを開発するために、IntelliJ IDEAはファセットを備えています。ファセットを使用すると、フレームワーク固有の設定を構成でき、モジュールに適用されます。

モジュールにファセットを追加する

IntelliJ IDEAは、特定のフレームワークに特有のファイルまたはディレクトリを識別し、ためのファセットを追加できます。フレームワークが検出されて追加されると、IntelliJ IDEAは欠落している設定について通知し、たとえばファセット設定を構成するなどの必要な処置を提案します。

ファセットが自動的に検出されない場合、ファセットを手動で追加できます。

  1. ファイル | プロジェクト構造に移動するか、 Ctrl+Shift+Alt+Sを押して、ファセットをクリックします。

  2. artwork studio icons common add (または Alt+Insertを押す)をクリックし、リストからフレームワークを選択します。

  3. 必要に応じて、ファセットを追加するモジュールを選択し、ファセットを構成します。

新しいプロジェクトまたは新しいモジュールを作成するときに、ファセットを追加することもできます。

フレームワークを自動検出から除外

デフォルトでは、サポートされているすべてのフレームワークで自動検出が有効になっています。フレームワークの自動検出を完全に無効にすることも、個々のフレームワークを自動検出から除外することもできます。

  1. プロジェクト構造ダイアログを開き、ファセットを選択し、検出を選択します。

  2. artwork studio icons common add (または Alt+Insertを押す)をクリックし、必要なオプションを選択します。例:あるディレクトリ内のすべてのフレームワークの自動検出を無効にすることができます。

  3. プロジェクト全体のすべてのフレームワークの自動検出を無効にするには、フレームワーク検出を使用可能にするチェックボックスの選択を解除します。

アンロードモジュール

IDEをより速く動作させるには、必要のないモジュールを一時的に脇に置いたり、アンロードしたりすることができます。IntelliJ IDEAは、コードの検索やリファクタリング、プロジェクトのコンパイル時に、アンロードされたモジュールを無視します。

モジュールをアンロードすると、ローカルで実行します。アンロードされたモジュールに関する情報は、バージョン管理によって共有されません。

  1. プロジェクトツールウィンドウで、モジュールを右クリックし、モジュールのロード/アンロードを選択します。

  2. ダイアログ内のモジュールをダブルクリックすると、ロードまたはアンロードできます。

    Unload modules 2

新しいモジュールの自動ロードとアンロード

チームメイトが新しいモジュールをプロジェクトに追加する場合は、それらのモジュールをプロジェクトアップデート上のコンピュータにダウンロードします。その後、IDEは更新されたプロジェクト内のすべてのモジュール間の依存関係を分析します。

モジュールをアンロードしている場合、IntelliJ IDEAは依存関係分析の結果に従って新しいモジュールをロードまたはアンロードします。

新しいモジュールが既存のアンロードされたモジュールに依存する場合、新しいモジュールはアンロードされたものとしてマークされます。 IntelliJ IDEA はそれらを無視します。そうしないと、コンパイルしようとするとエラーが発生する可能性があります。

projects unloaded new unloaded

既存のロードされたモジュールが新しいモジュールに直接依存する場合、新しいモジュールはロード済みとしてマークされます:

projects unloaded new loaded

既存のロードされたモジュールが新しく追加されたモジュールに依存しない場合、新しいモジュールはアンロードとしてマークされます。必要に応じて手動でロード済みとしてマークすることができます。

projects unloaded new

アンロードされたモジュールで変更をコミットする

アンロードされたモジュールがあり、アンロードされたモジュールが依存するファイルを変更した場合、それらのモジュールのコンパイルは、ロードした後で失敗することがあります。

アンロードされたモジュールのコンパイルエラーを回避するには、変更のコミットダイアログで影響を受けるアンロードされたモジュールをコンパイルするオプションが選択されていることを確認してください。

変更されたファイルをコミットする前に、IntelliJ IDEAはアンロードされたモジュールをコンパイルして、変更がこれらのモジュールに影響しないことを確認します。IDEは検出されたエラーについて通知し、コミット前にそれらを解決することを提案します。

トラブルシューティング

プロジェクト内のモジュールが互いに依存している場合は、1つ以上のモジュールをアンロードするとエラーが発生する可能性があります。

たとえば、モジュール1がモジュール2に依存し、モジュール2をアンロードすると、IntelliJ IDEAはモジュール2のクラスへの参照を解決できません。さらに、モジュール1のコンパイルが失敗する可能性があります。

このようなエラーを回避するために、IDEはモジュールのロードまたはアンロード時に依存関係を分析します。モジュールをロードすると、IntelliJ IDEA はすべての依存関係もロードするよう提案します。モジュールをアンロードすると、IDEはすべての依存モジュールを見つけてアンロードします。

projects unloaded problems2

モジュール1をアンロードすると、モジュール2のコードにエラーは表示されず、モジュール2もコンパイルできます。ただし、モジュール2のコードを変更することによって、モジュール1の依存コードのコンパイルを誤って中断することがあります。モジュール1はアンロードされているので、ロードしてコンパイルするまでエラーは表示されません。

モジュール2に含まれるクラス、フィールド、またはメソッド(Ctrl+Shift+Alt+T)で使用箇所の検索(Alt+F7)またはリファクタリングを呼び出すと、モジュール1の内容が考慮されないため、結果が不完全になる可能性があります。IntelliJ IDEAからそのことが通知されます。

さらに、IDEは変更をコミットするたびにアンロードされたモジュールをコンパイルし、変更がアンロードされたモジュールに影響しないことを確認します。アンロードされたモジュールによる変更のコミットの詳細を参照してください。

projects unloaded problems

最終更新日: 2018年12月7日