Почему зависимость JavaMoney - это пакеты как POM?

Я не очень разбираюсь в системах сборки, но это меня заинтересовало.

Большинство библиотек используют <type>jar</type> (по умолчанию) для их зависимостей, но библиотека JavaMoney использует pom вместо этого, в чем причина?

1 ответ

Решение

Причина. JavaMoney - это многомодульный проект, и в корне этого проекта есть пакет pom.

Когда вы объявляете зависимость в pom.xml, она будет привязана к проекту с их транзитивными зависимостями. Это также работает для артефактов с упаковкой пом. В этом случае переходными зависимостями будет реализация JavaMoney.

mvn dependency:tree
...
[INFO] +- org.javamoney:moneta:pom:1.3:compile
[INFO] |  +- org.javamoney.moneta:moneta-core:jar:1.3:compile
[INFO] |  +- org.javamoney.moneta:moneta-convert:jar:1.3:compile
[INFO] |  +- org.javamoney.moneta:moneta-convert-imf:jar:1.3:compile
[INFO] |  +- org.javamoney.moneta:moneta-convert-ecb:jar:1.3:compile
[INFO] |  +- javax.money:money-api:jar:1.0.3:compile
[INFO] |  \- javax.annotation:javax.annotation-api:jar:1.3.2:compile
Другие вопросы по тегам