Как maven заменяет текст @ env @ в application.yml? - PullRequest
0 голосов
/ 12 мая 2018

В pom.xml определены некоторые профили.

<profile>
  <id>test</id>
  <properties>
    <env>test</env>
  </properties>
</profile>

spring.profiles.active: @env@ определено в application.yml и bootstrap.yml. Когда я запускаю mvn install -P test, текст @env@ в application.yml будет заменен на test.

Как это работает?

Почему это не работает для bootstrap.xml?

1 Ответ

0 голосов
/ 12 мая 2018

Это работает для application.yml, потому что вы явно используете Spring Boot Starter Parent.Смотрите POM здесь: https://github.com/spring-projects/spring-boot/blob/master/spring-boot-project/spring-boot-starters/spring-boot-starter-parent/pom.xml

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

Если вы хотите добавить больше файлов для такой обработки, вы можете добавить свой собственный раздел <resources> в POM и расширить его с помощью большего количества файловых шаблонов..

...