当Maven构建JAR文件时,它将模块的POM文件放在里面(看起来在目录<groupid>/<artifactid>)。Maven在JAR文件中放置的POM文件的重要性是什么?
当我从Ant构建一个JAR文件以通过Maven Ant任务进行部署时,这个POM文件(JAR内部的文件)的存在很重要吗?它似乎不是,但我只是想确保它不被任何地方使用,并确认它应该在JAR文件中的确切位置。
当Maven构建JAR文件时,它将模块的POM文件放在里面(看起来在目录<groupid>/<artifactid>)。Maven在JAR文件中放置的POM文件的重要性是什么?
当我从Ant构建一个JAR文件以通过Maven Ant任务进行部署时,这个POM文件(JAR内部的文件)的存在很重要吗?它似乎不是,但我只是想确保它不被任何地方使用,并确认它应该在JAR文件中的确切位置。
将pom.xml
和pom.properties
文件打包到JAR中,以便Maven生成的每个工件都是自描述的,并且还允许您在需要时使用自己的应用程序中的元数据。一个简单的用法可能是检索应用程序的版本。
这就是说,这些文件中包含可以通过,如果该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
- A
pom.properties
文件,位于档案中META-INF/maven/${groupId}/${artifactId}/pom.properties
默认值为true。
这应该回答你的问题。
内JAR pom.xml中被设计用于以下用途,
我不知道这些功能是否在任何地方实现。你可以肯定地忽略它。
“将pom.xml和pom.properties文件打包在JAR中,以便Maven生成的每个工件都是自描述的,并且还允许您在需要时使用自己的应用程序中的元数据” - 可以你给我举例说明为什么我的应用程序需要在pom文件中的元数据? – 2013-03-09 10:50:31