Ресурсы spring-boot-starter-parent включают / исключают объяснение - PullRequest
0 голосов
/ 03 февраля 2020

Я немного озадачен тегом ресурсов в Spring-boot-starter-parent версии 2.2.4.RELEASE. Какова цель включения и исключения с одинаковыми шаблонами?

<resources>
  <resource>
    <filtering>true</filtering>
    <directory>${basedir}/src/main/resources</directory>
    <includes>
      <include>**/application*.yml</include>
      <include>**/application*.yaml</include>
      <include>**/application*.properties</include>
    </includes>
  </resource>
  <resource>
    <directory>${basedir}/src/main/resources</directory>
    <excludes>
      <exclude>**/application*.yml</exclude>
      <exclude>**/application*.yaml</exclude>
      <exclude>**/application*.properties</exclude>
    </excludes>
  </resource>
</resources>

1 Ответ

1 голос
/ 04 марта 2020

Параметр фильтра maven-resources-plugin позволяет вам включать переменные в ваши ресурсы. Переменные будут интерполированы в ресурсах, которые копируются в выходной каталог.

Spring-boot-starter-parent содержит 2 блока ресурсов.

Первый содержит <filter>true</filter>, что означает эти переменные будут интерполированы. Первый содержит фильтр включений, указывающий, что интерполяция переменных будет выполняться только для этих файлов.

Второй не содержит <filter>true</filter>, что означает, что будет использоваться значение по умолчанию (= false), и что никакая интерполяция не будет сделана. Второй также содержит фильтр исключения, указывающий, что файлы, указанные в этом фильтре, будут исключены этим блоком ресурса.

Таким образом, первый блок скопирует все файлы application*.(yml|yaml|properties) в выходную папку и будет интерполировать переменные , А второй блок скопирует все остальные файлы без интерполяции переменных.

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