Maven放置在JAR文件中的POM文件的重要性是什么,它是否被任何东西使用?

当Maven构建一个JAR文件时,它将模块的POM文件放在里面(似乎在目录 / 中)。

当我从Ant构建一个JAR文件以通过Maven Ant任务进行部署时,这个POM文件(JAR中的文件)的存在是否重要? 它似乎不是,但我只是想确保它没有在任何地方使用,并确认它应该在JAR文件中的确切位置。

pom.xmlpom.properties文件打包在JAR中,以便Maven生成的每个工件都是自描述的,并且还允许您在需要时利用自己应用程序中的元数据。 一个简单的用途可能是检索应用程序的版本。

也就是说,如果需要,可以通过MavenArchiverConfiguration停用包含这些文件,MavenArchiverConfiguration允许使用布尔值addMavenDescriptor参数, 并且不包含它们是安全的 (即使我发现它们很好)。 例如,对于JAR:

  ...    org.apache.maven.plugins maven-jar-plugin   false     ...  ...  

关于这些文件的位置, addMavenDescriptor的文档说:

生成的存档是否包含以下两个Maven文件:

  • pom文件,位于META-INF/maven/${groupId}/${artifactId}/pom.xml
  • 一个pom.properties文件,位于META-INF/maven/${groupId}/${artifactId}/pom.properties

默认值是true。

这应该回答你的问题。

JAR中的pom.xml是为以下目的而设计的,

  1. 自动依赖解析。
  2. 部署JAR。 可以自动从JAR中提取pom.xml。
  3. 按存储库进行完整性检查(JAR与POM匹配)。

我不知道是否在任何地方实现了这些function。 你可以肯定地忽略它。