当maven生成一个jar时,它将pom.xml放在META-INF////pom.xml中。
这是 Artifact 的原始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)
关于maven-2 - 如何控制maven内置的jar中的pom.xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4437740/