Вставить значения заполнителя в файл Spring boot application.yml, используя intellij во время выполнения

Я использую Intellj для запуска своего приложения Spring Boot, в котором есть файл application.yml с заполнителем. Значения заполнителя должны вводиться во время выполнения в зависимости от конфигурации среды.

server:
  port: ${SERVER_PORT}

Я пытаюсь запустить приложение Spring Boot из Intellij, передав значение заполнителя в разделе Environment Variable при запуске приложения.

Я получаю сообщение об ошибке ниже при запуске этого приложения:

Не удалось внедрить автоматические зависимости; вложенное исключение - java.lang.IllegalArgumentException: Не удалось разрешить заполнитель 'SERVER_PORT' в значении "$ {SERVER_PORT}" Причина: java.lang.IllegalArgumentException: Не удалось разрешить заполнитель 'SERVER_PORT' в значении "$ {SERVER_PORT}"


person jitin sharda    schedule 15.03.2020    source источник


Ответы (1)


Возможно, это связано с тем, что ваше присвоение переменной в некотором смысле рекурсивно. SERVER_PORT - это то же свойство, что и server.port или

server:
  port: 

См. здесь для получения списка источников свойств конфигурации и их приоритета.

Попробуйте удалить этот раздел из вашего yaml-файла. Если вы объявите переменную среды server.port или SERVER_PORT, SpringBoot подберет ее и использует.

person Ralf    schedule 15.03.2020