Maven最佳实践页面描述了在另一个pom中包含pom作为依赖关系的单一用途; 包括共享的依赖组:
http://www.sonatype.com/books/mvnref-book/reference/pom-relationships-sect-pom-best-practice.html
我希望你可以做其他事情 - 比如定义特定的存储库或插件,这些存储库或插件将由你包含它的pom“继承”,但这似乎不起作用。
通过将pom作为依赖项包含在另一个pom中,您可以实现哪些其他用例?
答案 0 :(得分:0)
如果您想定义存储库等或发布跟踪系统,开发人员等,这可以通过使用定义所有内容的父pom来实现。任何使用这个pom作为父项的项目都会自动继承所有这些信息(通常称为公司pom)。让生活更轻松。您可以在其中定义插件,依赖项等的版本。 将pom作为依赖项包含的用例是通过simgle依赖点来定义一组依赖项,在这种情况下,pom本身包含大量的依赖项,这使得有时只需添加这个pom就可以很容易地使用这些依赖项而不是几个依赖。但通常我更愿意在项目的dependencyManagement部分中定义这些依赖项。
答案 1 :(得分:0)
AFAIK,包括作为依赖项的pom只会影响依赖项。如果你想重用其他东西,你必须将它指定为父POM。
注意:我建议在Maven Repository Manager(如Nexus)中管理您的存储库,而不是在POM中。
http://www.sonatype.com/books/nexus-book/reference/maven-sect-single-group.html
答案 2 :(得分:0)
问题中提到的链接本身记录了这些好处。正如其他人已经回答的那样,它不能用于other
目的。剪切/粘贴以供参考:
合并相关的依赖项是减少开始必须依赖大量数据的pom.xml 文件的长度的好方法 依赖性。
如果您需要在项目之间共享大量依赖项,您还可以建立父子关系 在项目之间并重构所有与父项的共同依赖项 项目,但亲子方法的缺点是a 项目只能有一个父项。
有时将类似的依赖项组合在一起并引用pom依赖项更有意义。这样,您的项目可以参考 尽可能多的合并依赖POM。
maven dependency mechanism文档中有相关示例。