Знаток: агрегирование по сравнению с зависимостью

Я очень плохо знаком со Знатоком и сейчас пытаюсь настроить свое первое дерево проекта. Я изо всех сил пытаюсь понять различие между двумя альтернативами:

У меня есть банка и военные проекты (два каждый), что я хочу связаться. Традиционно я просто создал бы проект уха, который имеет всех четырех из них как зависимости.

Теперь я читал об агрегировании англичан и не уверен, что больше делать (см. http://maven.apache.org/pom.html#Aggregation). Я должен создать aggregateted АНГЛИЧАНИНА с этими четырьмя проектами?

Я предполагаю в основном, что мой вопрос: что является большой разницей между модулем и зависимостью, если зависимость является одним из моих "собственных" проектов.

13
задан Sean Patrick Floyd 27 July 2010 в 12:56
поделиться

1 ответ

Модуль - это просто способ упорядочить вещи.

В многомодульной сборке вы можете построить все дерево артефактов за один шаг (вспомните Joel Test ). Однако каждый из них будет отдельным артефактом, на который можно отдельно ссылаться как на зависимость.

Вот образец макета, упаковка в скобках.

root (pom)
    - project1 (jar)
    - project2 (war) -> references project1 as dependency
    - project3 (jar)
    - project4 (war) -> references project3 as dependency
    - project5 (ear) -> references project2 and project4 as dependency

вызовите mvn install в корневом каталоге, чтобы построить все дерево.

Предполагается, что project1 используется только project2, а project3 - только project4. В противном случае это более сложный сценарий.

root (pom)
    - project1 (jar)
    - project2 (jar)
    - project3 (war) -> references project1 and project2 as dependency of scope provided
    - project4 (war) -> references project1 and project2 as dependency of scope provided
    - project5 (ear) -> references project1 through project4 as dependency

Таким образом, модули берут на себя работу по независимому построению нескольких проектов, но вам все равно нужно самостоятельно управлять своими зависимостями.

11
ответ дан 2 December 2019 в 01:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: