为什么JavaMoney依赖项是作为POM的包?

为什么JavaMoney依赖项是作为POM的包?,java,maven,java-money,jsr354,Java,Maven,Java Money,Jsr354,我对构建系统不是很有经验,但这让我很好奇 大多数库使用jar(默认值)作为它们的依赖项,但是JavaMoney库使用pom,原因是什么?因为JavaMoney是多模块项目,并且这个项目的根项目具有打包pom 当您在pom.xml中声明依赖项时,它将与它们的可传递依赖项一起附加到project。这也适用于pom打包的工件。在这种情况下,可传递依赖关系将是JavaMoney的实现 mvn dependency:tree ... [INFO] +- org.javamoney:moneta:pom:1

我对构建系统不是很有经验,但这让我很好奇


大多数库使用
jar
(默认值)作为它们的依赖项,但是JavaMoney库使用
pom
,原因是什么?

因为JavaMoney是多模块项目,并且这个项目的根项目具有打包pom

当您在pom.xml中声明依赖项时,它将与它们的可传递依赖项一起附加到project。这也适用于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

可能的重复我不认为这是重复的,因为我想知道为什么做出这个决定。该链接解释了Maven中有子模块,这就是为什么它打包为POM。。。。但是我看到很多项目都有子模块输出JAR,他们决定不希望库打包为单个JAR文件。为什么?问他们!(你没有给我们一个POM文件的链接,让我们在上下文中查看…所以我们实际上不知道你可能在谈论的众多POM中的哪一个。)这就是为什么我在这里发布,所以他们可以回答,因为他们监控我包含的标签,这是回答问题的地方。。。我不会在他们的github回购协议上提出问题,因为这不是问题。。。gitter中的一个问题让人不知所措:-)许多开发人员既没有时间也没有兴趣回答“你为什么做出这样的设计决定”这样的问题。