【发布时间】:2011-05-25 04:14:42
【问题描述】:
当 maven 构建一个 jar 时,它会在 META-INF///pom.xml 中放置一个 pom.xml。 这是神器的原始pom。 没有变量被扩展或继承,也没有列出继承的依赖项。 这使得生产jar的信息依赖于构建环境。
jar里面的pom怎么配置? 最好是 maven-jar-plugin 的一些配置。
【问题讨论】:
当 maven 构建一个 jar 时,它会在 META-INF///pom.xml 中放置一个 pom.xml。 这是神器的原始pom。 没有变量被扩展或继承,也没有列出继承的依赖项。 这使得生产jar的信息依赖于构建环境。
jar里面的pom怎么配置? 最好是 maven-jar-plugin 的一些配置。
【问题讨论】:
我有类似的要求,因为我想获取属于父 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)
【讨论】: