Add the effective pom.xml in the META-INF directory

前端 未结 2 582
[愿得一人]
[愿得一人] 2021-01-14 10:31

When I build a JAR library using Maven 2 (version 2.0.9 or 2.2.1), the pom.xml of the library is copied in the META-INF/maven/[g

相关标签:
2条回答
  • 2021-01-14 10:47

    Use https://www.mojohaus.org/flatten-maven-plugin/

    It will set updatePomFile true by default.

    Its not what you asked for, but its what you want.

    0 讨论(0)
  • 2021-01-14 11:08

    You can generate the effective-pom.xml during install cycle

    <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}\effective-pom.xml</output>
           </configuration>
          </execution>
      </executions>
    </plugin>
    

    But to copy this effective-pom.xml to under META-INF/maven/[groupId]/[artifactId]/ directory of the JAR file, you will have to write a custom Jar mojo (just by extending org.apache.maven.plugin.jar.JarMojo) because the code that copies the pom.xml to META-INF is hard-coded in org.apache.maven.archiver.MavenArchiver (Line 487) (and i think there is no apparent way to set/override this behavior from pom.xml).

    0 讨论(0)
提交回复
热议问题