Объединить 2 файла из приложения для начинающих и весенней загрузки - PullRequest
2 голосов
/ 05 марта 2019

в моем проекте у меня есть стартовое и подпружиненное приложение для этого стартера.

Стартер содержит файл application.yaml с несколькими свойствами.Например:

my:
  test:
    value: test

spring:
  profiles:
    active: development

Я добавляю файл application.yaml в мое приложение весенней загрузки, и значения из yaml для начинающих не вставляются в контекст.Мой вопрос, как я могу настроить 2 файла yaml в стартере и приложении с опцией для переопределения значений с помощью стартера весенней загрузки, например:

spring:
  profiles:
    active: testing

После слияния я хочу иметь:

spring.profiles.active = testing
my.test.value = test

В настоящее время произошел сбой с ошибкой: вызвано: java.lang.IllegalArgumentException: Не удалось разрешить заполнитель my.test.valueв значении "$ {my.test.value}"

Ответы [ 2 ]

2 голосов
/ 05 марта 2019

Используйте spring.profiles.include

spring:
  profiles:
   active: testing
   include: default

Или вы можете создать другое application-profile.yml (например, application-testing.yml) и указать профиль при запуске приложения весенней загрузки

Команда

java -jar name.jar spring.profiles.active=testing // it will pick the properties values from application-testing.yml

В файле yml используйте для включения любых других профилей

application-testing.yml

spring:
  profiles:
    include: default
0 голосов
/ 05 марта 2019

@ Deadpool Одна проблема с переопределением Я сделал application-starter.yaml в стартере и включил его в sprinng-boot с помощью include.

my:
  test:
    value: spring--123


spring:
  profiles:
    active: development
    include: starter

Я вводил @ Value

@Value("${my.test.value}")
private String testval;

и testval = test (from starter) Есть ли опция i, чтобы сделать значения из application.yaml более первичными?

спасибо

...