将pom作为依赖包含有什么好处?

时间:2012-06-07 09:41:26

标签: java maven pom.xml

Maven最佳实践页面描述了在另一个pom中包含pom作为依赖关系的单一用途; 包括共享的依赖组:

http://www.sonatype.com/books/mvnref-book/reference/pom-relationships-sect-pom-best-practice.html

我希望你可以做其他事情 - 比如定义特定的存储库或插件,这些存储库或插件将由你包含它的pom“继承”,但这似乎不起作用。

通过将pom作为依赖项包含在另一个pom中,您可以实现哪些其他用例?

3 个答案:

答案 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文档中有相关示例。