当maven构建一个jar时,它会将一个pom.xml放在META-INF /// pom.xml中。 这是神器的原始pom。 没有扩展或继承变量,也没有列出继承的依赖项。 这使得生产jar的信息依赖于构建环境。
如何配置jar内的pom? 最好的是maven-jar-plugin的一些配置。
答案 0 :(得分:7)
我有类似的要求,因为我想获取属于父pom.xml
的所有信息。换句话说,除了“原始”pom.xml
之外,我希望在生成的JAR中包含有效pom 。
我们的想法是在生成JAR期间使用help:effective-pom
插件和目标,并将其与pom.xml
一起使用。这是通过以下配置完成的:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-help-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>effective-pom</goal>
</goals>
<configuration>
<output>${project.build.outputDirectory}/META-INF/maven/${project.groupId}/${project.artifactId}/effective-pom.xml</output>
</configuration>
</execution>
</executions>
</plugin>
(source)