Maven2 применяет фильтрацию к файлу в упаковке типа pom - PullRequest
5 голосов
/ 12 марта 2010

Я новичок в Maven. Я хочу использовать фильтрацию в многомодульном проекте. Тип упаковки родительского pom установлен на pom. Структура проекта следующая:

pom.xml
     |
     |______MODULE1
     |       |
     |       pom.xml
     |       File1_needed_to_be_filtered
     |
    File2_needed_to_be_filtered

Обратите внимание, что Module1 также является многомодульным проектом. Поэтому, пожалуйста, скажите мне, как я могу применить фильтрацию к file1 и file2. И если я применяю фильтрацию к file1, то где будет храниться обработанный файл (поскольку файл pom, тип упаковки которого pom, не создает папку с именем target!) Пожалуйста, помогите мне, так как это очень важно для меня, и эта проблема больше нигде не рассматривается в Интернете.

Ответы [ 2 ]

4 голосов
/ 20 февраля 2011

Вы можете использовать maven-assembly-plugin - с форматом 'dir' (хотя, если когда-либо существует более одного файла, возможно, имеет смысл сделать его каким-то архивом). Формат дескриптора позволяет фильтровать. Это должно работать с иерархией pom и файлов, которую вы описали выше.

Однако я бы порекомендовал поместить их в одноуровневые модули вместо родительского. Это не позволяет использовать логику в агрегаторе, и (как только вы начнете это делать) вы можете решить, что проще использовать сборку для их распространения вместе с другими вашими компонентами, для которых в любом случае вам нужен модуль.

0 голосов
/ 12 марта 2010

Чтобы иметь ресурсы фильтрации Maven при копировании, установите фильтрацию на true для каталога ресурсов в вашем pom.xml:

<project>
  ...
  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filterineg>
      </resource>
    </resources>
  </build>
</project>

Но если вы хотите фильтровать ресурсы, не помещайте их в проект с упаковкой типа pom, это не имеет смысла (по той причине, которую вы дали себе). На самом деле, я не понимаю, чего вы пытаетесь достичь (поскольку вы знаете, что это не так).

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