そこの
maven-ear-plugin のデフォルト構成を定義する親 pom.xml があります
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.8</version>
<configuration>
<modules>
<jarModule>
<groupId>com.test</groupId>
<artifactId>artifact1</artifactId>
</jarModule>
<jarModule>
<groupId>com.test</groupId>
<artifactId>artifact2</artifactId>
</jarModule>
</modules>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
子 pom では、セクションで maven-ear-plugin を定義しました
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<executions>
<execution>
<id>default-ear</id>
<phase>package</phase>
<goals>
<goal>ear</goal>
</goals>
<configuration>
<earSourceDirectory>EarContent</earSourceDirectory>
<defaultLibBundleDir>APP-INF/lib</defaultLibBundleDir>
<modules>
<jarModule>
<groupId>com.test</groupId>
<artifactId>artifact3</artifactId>
</jarModule>
</modules>
</configuration>
</execution>
</executions>
</plugin>
私の意図は、アーティファクト 1、アーティファクト 2、アーティファクト 3 の 3 つの jar ファイルすべてを耳に含めることです。ただし、ビルド後は、子 pom.xml で定義された artifact3 のみが含まれます。<modules>
したがって、デフォルトでは、子 pom.xml の定義は、親 pom で定義されているものをマージするのではなく、上書きするように見えます。実際、<modules>
子 pom.xml のセクション全体を削除すると、ビルド後に artifact1 と artifact2 が含まれます。
私の質問は、親 pom と子 pom で定義されたすべての jar モジュールを含める方法があるかどうかです。私はいくつかの ear プロジェクトを持っており、それらすべてに同じ jar モジュールのセットと独自のいくつかの jar モジュールを含める必要があります。各子pom.xmlで繰り返されないように、jarモジュールの共通セットを親に移動しようとしています。
プロジェクトの関係を明確にするために更新します。
parent pom.xml (define maven-ear-plugin in the pluginManagement section)
-- project1 pom.xml (multi-module project)
-- myJar-proj1
-- myWeb-proj1
-- myEar-proj1 (define maven-ear-plugin in the <build> section)
-- project2 pom.xml (multi-module project)
-- myJar-proj2
-- myWeb-proj2
-- myEar-proj2 (define maven-ear-plugin in the <build> section)