Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
通常,maven 构建的 jar 工件将它的 pom 包含在META-INF. 我最近注意到 Spring jars 没有这个。所以,这让我想知道那个 pom 的目的。
META-INF
似乎 maven 在执行需要了解工件元数据的事情时(例如,在确定依赖关系时)直接从存储库中检索 pom。
那么,嵌入式有什么用呢?
文档提出了这个位置的 pom的Maven两个原因。
Maven
1) 仅供参考,方便。正如文档所说,它使工件“自我描述”
2) 您可以使用 Java 从您的应用程序中获取此信息。这使 arfiact 能够在应用程序中自动报告其版本。
您将在存储库中找到的 pom 不一定是用于构建工件的 pom。它面向工件的用户,可以在构建工件时进行自定义。
包含在工件中的那个是用于生产工件的那个。可以选择不将其包含在工件中。