maven-ear-plugin <packagingIncludes>не включая файлы проекта - PullRequest
0 голосов
/ 15 января 2019

Мой проект на ухо имеет следующую структуру:

enter image description here

И мой pom.xml выглядит так:

  <plugin>
    <artifactId>maven-ear-plugin</artifactId>
    <version>2.10</version>
    <configuration>
      <earSourceIncludes>META-INF/*</earSourceIncludes>
      <packagingIncludes>META-INF/*,**/*.war</packagingIncludes>
      <version>7</version>
                <modules>
                    <webModule>
                        <groupId>com.ex</groupId>
                        <artifactId>one</artifactId>
                    </webModule>
                </modules>
      <generateApplicationXml>false</generateApplicationXml>  
    </configuration>
  </plugin>

Я хочу включить в файл ear содержимое папки META-INF, расположенной в аналогичной папке в корне файла ear с именем META-INF.

Я пробовал несколько комбинаций с earSourceInclude и packagingInclude, но безуспешно: мой файл ear содержит связанное приложение .war, что хорошо, и папку META-INF, в которой нет того, что мне нужно, но предварительно сгенерированный MANIFEST. Файл .MF и папка maven вместо pom.

Интересно, нужен ли мне earSourceInclude вообще. Если честно, я не знаю, почему это не сработало только с параметром packagingInclude.

1 Ответ

0 голосов
/ 16 января 2019

Вы можете использовать maven-resource-plugin для включения содержимого папки META-INF в корневую папку META-INF. Смотри ниже.

Пусть

Базовый каталог проекта - ${project.basedir}

корневой каталог EAR - ${project.rootdir}

<plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.5</version>
    <executions>
        <execution>
            <id>copy-resources</id>
            <!-- here the phase you need -->
            <phase>validate</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>                         
                <outputDirectory>${project.basedir}/META-INF</outputDirectory>
                <resources>
                    <resource>                      
                        <directory>${project.rootdir}/META-INF</directory>
                        <filtering>true</filtering>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>
...