Java Maven放在JAR文件中的POM文件的意义是什么,它被任何东西使用了吗?
当Maven构建JAR文件时,它会将模块的POM文件放在其中(似乎位于目录/)Java Maven放在JAR文件中的POM文件的意义是什么,它被任何东西使用了吗?,java,maven-2,jar,pom.xml,Java,Maven 2,Jar,Pom.xml,当Maven构建JAR文件时,它会将模块的POM文件放在其中(似乎位于目录/) 当我从Ant构建要通过Maven Ant任务部署的JAR文件时,这个POM文件(JAR中的那个)的存在是否重要?它似乎不是,但我只是想确保它没有在任何地方使用,并确认它应该在JAR文件中的确切位置。JAR中的pom.xml设计用于以下目的 自动依赖项解析 JAR的部署。可以自动从JAR中提取pom.xml 存储库的完整性检查(JAR匹配POM) 我不知道这些功能是否在任何地方实现。您当然可以忽略它。将pom.xml和
当我从Ant构建要通过Maven Ant任务部署的JAR文件时,这个POM文件(JAR中的那个)的存在是否重要?它似乎不是,但我只是想确保它没有在任何地方使用,并确认它应该在JAR文件中的确切位置。JAR中的pom.xml设计用于以下目的
我不知道这些功能是否在任何地方实现。您当然可以忽略它。将
pom.xml
和pom.properties
文件打包在JAR中,这样Maven生成的每个工件都是自描述的,如果需要,还允许您在自己的应用程序中使用元数据。一个简单的用途可能是检索应用程序的版本
也就是说,如果需要,可以通过MavenArchiverConfiguration禁用这些文件的包含,MavenArchiverConfiguration允许一个布尔参数,并且不包含它们是安全的(即使我觉得拥有它们很好)。例如,对于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>
...
org.apache.maven.plugins
说:
生成的归档文件是否包含以下两个Maven文件:
- pom文件,位于
META-INF/maven/${groupId}/${artifactId}/pom.xml中的存档中
- 一个文件,位于
META-INF/maven/${groupId}/${artifactId}/pom.properties中的归档文件中
默认值为true
这应该可以回答您的问题。“pom.xml和pom.properties文件打包在JAR中,这样Maven生成的每个工件都是自描述的,并且允许您在需要时在自己的应用程序中使用元数据。”-你能举例说明为什么我的应用程序需要pom文件中的元数据吗?例如,当你不想将jar发布到在线mvn repo时,你可以将jar文件单独提供给其他人,他们可以使用mvn安装插件3.0.0-M1安装到本地mvn repo并使用它。maven会知道这个本地安装的jar的正确依赖项,如果没有pom.xml,这是不可能的。