У меня есть вложенная многомодульная структура maven, подобная этой:
main_aggregator
|- submodule_A
| |- sub_submodule_1
| |- sub_submodule_2
|- submodule_B
|- submodule_C
pom.xml в main_aggregator имеет это в модулях
<modules>
<module>submodule_A</module>
<module>submodule_B</module>
<module>submodule_C</module>
</modules>
pom.xml в submodule_A имеет это в модулях
<modules>
<module>sub_submodule_1</module>
<module>sub_submodule_2</module>
</modules>
родитель подмодулей main_aggregator выглядит примерно так:
<parent>
<groupId>my.project</groupId>
<artifactId>main-parent</artifactId>
<version>0.0.1</version>
<relativePath/>
</parent>
родитель подмодулей submodule_A выглядит примерно так:
<parent>
<groupId>my.project</groupId>
<artifactId>specific-parent</artifactId>
<version>0.0.1</version>
<relativePath/>
</parent>
Важно то, что submodule_B имеет зависимости от sub_submodule_1 и sub_submodule_2.
Когда я запускаю сборку из main_aggregator, она терпит неудачу и говорит, что не может разрешить зависимости для submodule_B — sub_submodule_1 и sub_submodule_2.
В обзоре реактора я вижу, что submodule_A был построен первым и построен успешно, но его подмодули - sub_submodule_1 и sub_submodule2 пропущены. Итак, я понимаю, почему он терпит неудачу при отсутствующих зависимостях, но я не понимаю, почему maven сначала не построил эти зависимости. Также я не понимаю, почему сборка submodule_A отмечена как успешная, если ее подмодули даже не были построены.
Версия Maven 3.5.2.
Обновление: когда я запускаю сборку в одном потоке, проблем нет. Проблема возникает только при параллельной сборке.
Update2: запуск в одном потоке был лишь частичным успехом. Смотрите мой ответ...
<relativePath/>
имеет смысл, — это корень, который вы назвали агрегатором. В любом другом модуле<relativePath/>
просто неверен... - person khmarbaise   schedule 23.11.20171.0.0-SNAPSHOT
? Что показываетmvn clean
на консоли? - person khmarbaise   schedule 24.11.2017