Конфигурация мультимодульного проекта весенней загрузки maven проста. отметьте этот образец , который я создал на основе вашего вопроса.
У меня есть следующие три модуля:
multi-modules
--module-B
--module-C
Итак, мои мультимодули в основном эквивалент вашего модуля A
Конфигурация родительского pom
Моя Конфигурация родительского pom очень похожа на вашу, за исключением того, что я также настраиваю раздел, в котором я объявляю список всех дочерних модулей этого родителя. Возможно, мы не сможем сделать это всегда, но в данном конкретном случае это возможно, поскольку я создаю родительский и дочерний модули в одном проекте . Одним небольшим преимуществом этого является тот факт, что я могу последовательно собрать все дочерние модули из родительского элемента, выполнив (на уровне родителя) такую команду, как mvn clean install
<modules>
<module>module-B</module>
<module>module-C</module>
</modules>
Конфигурация дочерних модулей
Чтобы упростить задачу, мы можем сделать так, чтобы логическая структура многомодульного проекта соответствовала его физической структуре, то есть иметь pom-каталог родителя, который содержит два подкаталога одного уровня, по одному для каждого модуля.
Таким образом, нам не нужно go проходить через некрасивую конфигурацию относительного пути.
module-B
Ничего особенного в его конфигурация . Я добавил фиктивный ServiceB класс, чтобы иметь в нем некоторое минималистичное c содержимое.
module- C
Его конфигурация аналогична конфигурации модуля B, за исключением того, что она зависит от модуля B и, конечно, я использую конфигурацию управления зависимостями, выполненную в parent для определения зависимости от модуля B, используя только groupId и artifactId .
Сборка и проверка
На этом этапе мы можем запустить mvn clean install
на уровне родителя и go проверить, что зависимость от модуля B переходит в модуль- C
Мы можем видеть что в списке библиотек модулей - C здесь:
Надеюсь, это поможет.