Добавьте эффективный файл pom.xml в каталог META-INF. - PullRequest
3 голосов
/ 23 ноября 2010

Когда я собираю библиотеку JAR с использованием Maven 2 (версия 2.0.9 или 2.2.1), pom.xml библиотеки копируется в каталог META-INF/maven/[groupId]/[artifactId]/ JAR.

Однако,в моем случае у pom.xml есть родитель, и я бы предпочел получить ffective-pom вместо исходного файла pom.xml (или, в конце концов, иметь оба).

Есть ли способ сделать это?

1 Ответ

4 голосов
/ 23 ноября 2010

Вы можете сгенерироватьффективный-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).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...