Копирование статических файлов и каталогов из соседнего модуля Maven с помощью плагина ресурсов? - PullRequest
1 голос
/ 26 марта 2019

У меня есть смежный модуль к моему текущему модулю, и я хочу извлечь каталог с его дочерними элементами из соседнего модуля и скопировать содержимое в целевой каталог при сборке моего текущего модуля.

Мне интересно, как лучше получить относительный путь к соседнему парню в директиве каталога.

Попытка

                    <plugin>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-resources</id>
                                <phase>generate-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>src/main/resources</directory>
                                            <filtering>true</filtering>
                                        </resource>
                                        <resource>
                                            <directory>../adjacent/src/main/docker/</directory>
                                            <filtering>true</filtering>
                                            <includes>
                                                <include>**/*</include>
                                            </includes>
                                            <excludes>
                                                <exclude>**/nodes/**</exclude>
                                                <exclude>**/data/**</exclude>
                                            </excludes>
                                        </resource>
                                        <resource>
                                            <directory>../adjacent/src/main/docker/</directory>
                                            <filtering>false</filtering>
                                            <includes>
                                                <include>**/data/**</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
    ```

1 Ответ

0 голосов
/ 26 марта 2019

Вам не нужно явно указывать выполнение maven-resources-plugin. Этого также можно добиться, упрощая POM, в пределах выполнения default-resources:

  <build>
    ...
    <resources>

      <resource>
        <targetPath>..</targetPath>  <!--  relative to the target/classes directory
                                           (i.e. ${project.build.outputDirectory}) -->
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>

      <resource>
        <targetPath>..</targetPath>
        <directory>../adjacent/src/main/docker/</directory>
        <filtering>true</filtering>
        <includes>
          <include>**/*</include>
        </includes>
        <excludes>
          <exclude>**/nodes/**</exclude>
          <exclude>**/data/**</exclude>
        </excludes>
      </resource>

      <resource>
        <targetPath>..</targetPath>
        <directory>../adjacent/src/main/docker/</directory>
        <filtering>false</filtering>
        <includes>
          <include>**/data/**</include>
        </includes>
      </resource>

    </resources>
  ...
</build>

Для <directory> " Путь относительно POM. ". Итак, ../adjacent/src/... в порядке.

Это также имеет то преимущество, что эти объявления рассматриваются плагином Eclipse m2e, то есть ресурсы копируются в Project Clean ... , а не во время сборки Maven. только.

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