Maven, фильтрация NON-ресурсов файла - PullRequest
8 голосов
/ 02 августа 2010

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

Как я могу заставить Maven выполнять фильтрацию (ресурса) по файлу, который не указан как ресурс, но находится в папке конфигурации на том же уровне, что и корневой POM?

1 Ответ

6 голосов
/ 03 августа 2010

Вы можете использовать Плагин Maven Resources и его resources:copy-resources mojo. Из примеров:

Копирование ресурсов

Вы можете использовать ресурсы копирования mojo для копировать ресурсы, которых нет в макет по умолчанию maven или не объявлен в элементе build / resources и прикрепить его к фазе

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.4.3</version>
        <executions>
          <execution>
            <id>copy-resources</id>
            <!-- here the phase you need -->
            <phase>validate</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${basedir}/target/extra-resources</outputDirectory>
              <resources>          
                <resource>
                  <directory>src/non-packaged-resources</directory>
                  <filtering>true</filtering>
                </resource>
              </resources>              
            </configuration>            
          </execution>
        </executions>
      </plugin>
    </plugins>
    ...
  </build>
  ...
</project>

Другим вариантом будет использование Плагин Maven AntRun и возможности фильтрации Ant (например, с Filter и / или Copy задачи), но выше выглядит просто отлично.

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