実行mvn install
すると問題は解決しますが、手動で解決することになります。プロジェクトが変更されると、多くの複雑さが生じます。必要なのは、サブ プロジェクトへの参照を作成する pom.xml です。
<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>X</groupId>
<artifactId>X</artifactId>
<version>0.1</version>
<name>X</name>
<packaging>pom</packaging>
<modules>
<module>project_A</module>
<module>project_B</module>
<module>project_C</module>
</modules>
<build>
<defaultGoal>package</defaultGoal>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.3</version>
<configuration>
<descriptors>
<descriptor>src/assemble/bin.xml</descriptor>
</descriptors>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
これを、各プロジェクトがある 3 つのディレクトリを含むディレクトリに配置します。次に、このディレクトリを呼び出すmvn clean package
と、Maven が魔法のように問題を解決し、各プロジェクトを正しい順序でビルドし、依存関係がある場合は 1 つのプロジェクトを他のプロジェクトで使用できるようにします。
ボーナス: 上記の例では、すべてのプロジェクトを単一のディストリビューションにパックするために使用できる Maven Assemble への参照も追加しています。