【发布时间】:2013-01-24 11:40:03
【问题描述】:
通常,maven 构建的 jar 工件会将其 pom 包含在 META-INF 下。我最近注意到 Spring jars 没有这个。所以,这让我想知道那个 pom 的目的。
当 maven 在做需要了解工件元数据的事情时,它似乎直接从存储库中检索 pom,例如在确定依赖关系时。
那么,嵌入式有什么用?
【问题讨论】:
通常,maven 构建的 jar 工件会将其 pom 包含在 META-INF 下。我最近注意到 Spring jars 没有这个。所以,这让我想知道那个 pom 的目的。
当 maven 在做需要了解工件元数据的事情时,它似乎直接从存储库中检索 pom,例如在确定依赖关系时。
那么,嵌入式有什么用?
【问题讨论】:
Maven 文档提出了这个位置的 pom 的两个原因。
1) 仅供参考,方便。正如文档所说,它使工件“自我描述”
2) 您可以使用 Java 从您的应用程序中获取此信息。这使 arfiact 能够在应用程序中自动报告其版本。
【讨论】:
您将在存储库中找到的 pom 不一定是用于构建工件的 pom。它面向工件的用户,可以在构建工件时进行自定义。
包含在工件中的那个是用于生产工件的那个。 可以选择不将其包含在工件中。
【讨论】: