Как использовать maven-resources-plugin?

В настоящее время я работаю над многомодульным проектом maven. Имеет следующий плагин:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-resources-plugin</artifactId>
  <version>2.6</version>
  <configuration>
  <useDefaultDelimiters>false</useDefaultDelimiters>
    <delimiters>
     <delimiter>${*}</delimiter>
     <delimiter>@@</delimiter>
    </delimiters>
  </configuration>
</plugin>

Из документации Maven не очень ясно, что именно он пытается сделать. Может кто-нибудь, пожалуйста, помогите мне понять это.

Почему вы спрашиваете, что пытается сделать какая-то случайная конфигурация? Лучше расскажите нам, что пытается сделать ты.

Andrey Tyukin 31.12.2018 15:39
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
638
1

Ответы 1

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

Это означает, что если вы настроите фильтрацию основных ресурсов:

  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
    </resources>

И у вас есть файл src/main/resources/test.txt с таким содержимым:

The current project version is @@project.version@@

Затем этот файл будет отфильтрован и создан в target/classes/test.txt с таким содержимым:

The current project version is 1.0-SNAPSHOT

Разделители по умолчанию позволяют помечать заполнители с помощью ${key} или @key@, в вашем примере это изменяет на ${key} и @@key@@.

Также проверьте https://maven.apache.org/plugins/maven-resources-plugin/resources-mojo.html#useDefaultDelimiters для получения дополнительной информации.

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