Maven放置在JAR文件中的POM文件有什么意义,它是否被任何东西使用?
当 Maven 构建 JAR 文件时,它会将模块的 POM 文件放在里面(似乎在目录<groupid>/<artifactid>)。
当我从 Ant 构建一个 JAR 文件以通过 Maven Ant 任务进行部署时,此 POM 文件(JAR 中的那个)的存在是否重要?它似乎不是,但我只是想确保它没有在任何地方使用,并确认它应该在JAR文件中的确切位置。
当 Maven 构建 JAR 文件时,它会将模块的 POM 文件放在里面(似乎在目录<groupid>/<artifactid>)。
当我从 Ant 构建一个 JAR 文件以通过 Maven Ant 任务进行部署时,此 POM 文件(JAR 中的那个)的存在是否重要?它似乎不是,但我只是想确保它没有在任何地方使用,并确认它应该在JAR文件中的确切位置。
和 文件打包在 JAR 中,以便 Maven 生成的每个工件都是自描述的,并且还允许您在需要时在自己的应用程序中利用元数据。一个简单的用法可能是检索应用程序的版本。pom.xml
pom.properties
也就是说,如果需要,可以通过MavenArchiverConfiguration来停用这些文件的包含,它允许布尔addMavenDescriptor参数,并且不包含它们是安全的(即使我发现拥有它们很好)。例如,对于 JAR:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
</configuration>
</plugin>
</plugins>
...
</build>
...
</project>
关于这些文件的位置,addMavenDescriptor的文档说:
生成的存档是否将包含以下两个 Maven 文件:
- pom 文件,位于
META-INF/maven/${groupId}/${artifactId}/pom.xml
- 一个
pom.properties
文件,位于META-INF/maven/${groupId}/${artifactId}/pom.properties
默认值为 true。
这应该可以回答您的问题。
JAR内部的pom.xml设计用于以下目的,
我不知道这些功能是否在任何地方实现。您当然可以忽略它。