代码之家  ›  专栏  ›  技术社区  ›  Romain Linsolas

在META-INF目录中添加有效的pom.xml

  •  3
  • Romain Linsolas  · 技术社区  · 13 年前

    当我使用Maven2(版本)构建JAR库时 2.0.9 2.2.1 ) pom.xml META-INF/maven/[groupId]/[artifactId]/ JAR的目录。

    但是,在我的例子中, pom.xml文件 有个家长,我更喜欢 effective-pom 而不是原来的 pom.xml文件 归档(或最终,两者都有)。

    有办法吗?

    1 回复  |  直到 13 年前
        1
  •  4
  •   dira    13 年前

    您可以在安装周期中生成effective-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}\effective-pom.xml</output>
           </configuration>
          </execution>
      </executions>
    </plugin>
    

    但是要将这个有效的pom.xml复制到 META-INF/maven/[groupId]/[artifactId]/ JAR文件的目录,您必须编写一个自定义的JAR mojo(只需扩展 org.apache.maven.plugin.jar.JarMojo )因为复制 pom.xml 到META-INF是硬编码的 org.apache.maven.archiver.MavenArchiver (第487行)(我认为没有明显的方法可以从pom.xml设置/重写这种行为)。