Maven放置在JAR文件中的POM文件的重要性是什么,它是否被任何东西使用?
当Maven构建一个JAR文件时,它将模块的POM文件放在里面(似乎在目录 / 中)。
当我从Ant构建一个JAR文件以通过Maven Ant任务进行部署时,这个POM文件(JAR中的文件)的存在是否重要? 它似乎不是,但我只是想确保它没有在任何地方使用,并确认它应该在JAR文件中的确切位置。
pom.xml
和pom.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是为以下目的而设计的,
- 自动依赖解析。
- 部署JAR。 可以自动从JAR中提取pom.xml。
- 按存储库进行完整性检查(JAR与POM匹配)。
我不知道是否在任何地方实现了这些function。 你可以肯定地忽略它。