Скажем, есть родительский проект A, в модулях которого есть модули B и C.
Project A
|-pom.xml
|----------->ModuleB
| |->pom.xml
|----------->ModuleC
| |->pom.xml
<modules>
<module>B</module>
<module>C</module>
</modules>
Сам модуль C имеет некоторую зависимость, которая принадлежит только этому подмодулю.Эта зависимость должна быть построена перед модулем C, поэтому я хочу вызвать опцию "-am" (--also-make), когда для C. вызывается "mvn install".
Maven выполняется удаленно, всеесть файлы пом.Задание на сборку запускается на удаленном Jenkins, оно использует текущий профиль в проекте. Родительский pom, должен использоваться только этот профиль.
Я думаю, что это можно сделать в pom модуля C, в конфигурации maven-compiler-plugin, например?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${jdk.source}</source>
<target>${jdk.target}</target>
**<arguments>-am</arguments>** <!--smth like this maybe?-->
</configuration>
</plugin>
Я также думал о создании другого файла pom.xml, который бы содержал только подмодуль C и его зависимость в правильном порядке, и который использовался бы вместо текущего подмодуля C в родительском pom,но сначала нужно попробовать опцию -am.Кроме того, сейчас я не совсем понимаю, куда поместить этот новый пом, потому что мы уже на уровне родительского уровня A.
Возможно, вся структура проекта должна быть реорганизована, но это то, что у меня есть сейчас.
Upd: ниже приведена менее упрощенная структура текущего проекта.
Project A (maven parent for B, C, D)
|-pom.xml
|----------->ModuleB
| |->pom.xml
|----------->folder
|----------->folder
|----------->ModuleC
| |->pom.xml
|----------->ModuleD
| |->pom.xml
<modules>
<module>B</module>
<!-- <module>D</module> | initially was here, now needs to be only C's dependency -->
<module>C</module>
</modules>