为什么将JavaMoney依赖项打包为POM?

时间:2018-12-19 00:16:53

标签: java maven java-money jsr354

我对构建系统不是很有经验,但这使我感到好奇。

大多数库使用<type>jar</type>(默认)作为其依赖项,但是JavaMoney库使用pom代替,这是什么原因?

1 个答案:

答案 0 :(得分:1)

因为JavaMoney是多模块项目,并且该项目的根目录具有打包pom。

在pom.xml中声明依赖项时,它将与它们的传递依赖项一起附加到项目中。这也适用于带有包装pom的工件。在这种情况下,传递依赖关系将是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