При работе с многомодульными проектами вам необходимо использовать цель install
, чтобы получить файлы pom (и артефакты) в ваш локальный репозиторий. Запуск mvn initialize
на вашем корневом модуле в основном заставляет maven выполнять следующие действия для ваших проектов modA и modB
mvn initialize -f modA/pom.xml
mvn initialize -f modB/pom.xml
Если вы используете install, он запустит install на modA еще до того, как начнется modB, что гарантирует, что все артефакты modA, включая его pom, будут в вашем локальном репо. При запуске modB эти артефакты, включая pom modA, будут извлечены из вашего локального хранилища. Maven не достаточно «умен», чтобы знать, что нужно искать файл pom.xml для modA относительно modB, просто потому, что он находится в одном многомодульном проекте. Следовательно, почему артефакты должны быть установлены с использованием цели install
.