Maven リアクター ビルドがあれば、すべてのモジュールがセットアップされます。これで、jar ファイルへの依存関係のみがあり、IntelliJ は依存するモジュールがあることを認識できません。ただし、モジュールの依存関係を指摘することで IntelliJ を支援できます。その後、プロジェクト内のすべてのクラス間を移動できるようになります。
最善の方法はpom.xml
、プロジェクトのルート ディレクトリに を作成することです。この pom は、さまざまなモジュールをまとめて保持し、ビルド順序も定義します。初めてプロジェクトを開く場合は、IntelliJ をこの pom ファイルにポイントするだけで、すべての依存関係が解決されてセットアップされるため、異なるモジュール内のクラス間のナビゲーションが簡単になります。
ルート ディレクトリのサンプル pom ファイル:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.stackoverflow</groupId>
<artifactId>Q16589702</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>${project.artifactId}-${project.version}</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<modules>
<module>app1</module>
<module>app2</module>
<module>app3</module>
<module>TheAppIWorkOn</module>
</modules>
</project>
何らかの理由でこれを行うことができない場合は、モジュールの依存関係について IntelliJ に通知する必要があります。これを行うには、 を開きますProject Structure
。
次にモジュールTheAppIWorkOn
を選択し、下部のプラス記号を押して を選択しますModule Dependency...
。
そこで、依存関係として持ちたいすべてのモジュールを選択できます。
を押しOk、Okもう一度押します。
これで、プロジェクト内の異なるクラス間を移動できるようになります。
との間に依存関係がある場合app1
は、それらに対しても同じことを行う必要があります。app2
app3
しかし、最も簡単な方法は、ルート プロジェクト ディレクトリにすべてのモジュール間の依存関係を含む pom ファイルを配置することです。