Как контролировать pom.xml внутри JAR, созданный Maven? - PullRequest
8 голосов
/ 14 декабря 2010

Когда maven создает jar, он помещает pom.xml в META-INF /// pom.xml.Это оригинальная помета артефакта.Переменные не наследуются и не наследуются, а наследуемые зависимости не отображаются.Это делает информацию о рабочей банке зависимой от среды сборки.

Как можно сконфигурировать pom внутри банки?Лучше всего подойдет конфигурация maven-jar-plugin.

1 Ответ

7 голосов
/ 15 декабря 2010

У меня было похожее требование, так как я хотел получить всю информацию, которая принадлежит родителю pom.xml.Другими словами, я хотел, чтобы в дополнение к "raw" pom.xml, эффективный пом внутри сгенерированного JAR.

Идея состоит в том, чтобы использовать help:effective-pom Плагин и цель во время генерации JAR, и поместите его с 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>

( источник )

...