Maven2 применяет фильтрацию к файлу в упаковке типа pom

StackOverflow https://stackoverflow.com/questions/2431499

  •  19-09-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

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

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top