Установка пользовательских переменных среды для веб-приложения spring boot, развернутого в контейнере apache tomcat

#java #spring #spring-boot #tomcat #environment-variables

#java #spring #spring-boot #tomcat #среда-переменные

Вопрос:

У меня есть приложение spring boot, размещенное на экземпляре AWS Ubuntu, развернутое с использованием развертывания WAR от Jenkins в контейнере Apache tomcat (8.5.14).
У меня есть одна переменная среды, определенная в файле application-test.properties, как показано ниже-
drehr.config.upload.image = /home/ubuntu/ehrFiles/
(используется файл application-test.properties, поскольку для активного профиля установлено значение test)
Мой java-код обращается к этому свойству, используя следующий синтаксис:-

 import org.springframework.beans.factory.annotation.Value;

@Value("${drehr.config.upload.image}")
private String imagePath;
  

Но я не могу получить его значение в imagePath переменной, оно становится пустым, и код завершается сбоем. Пожалуйста, укажите какой-либо способ решения этой проблемы.
Также пытался изменить значение свойства внутри apache-tomcat-x/webapps/drehrweb-0.0.1/WEB-INF/classes/application-test.properties . По-прежнему не работает.
Странно то, что тот же код отлично работает в среде разработки (с использованием spring tool suite).

Комментарии:

1. Работает ли это с файлом свойств по умолчанию? Это может произойти, если класс не является компонентом

2. Устанавливаете ли вы переменную profile в экземпляре AWS? Используете ли вы тестовый профиль на AWS или есть отдельный профиль?

3. Печатает ли ваш журнал запуска активные профили? Указан ли ваш целевой профиль? Я всегда вижу сообщение об этом в журнале, например: «Следующие профили активны: по умолчанию, версия, ТЕСТ»

4. @KevinB да, я использую тестовый профиль на AWS. И я вижу в журнале следующее сообщение: «Следующие профили активны: тест»

5. Что вы имеете в виду под «возвращением пустого кода и сбоем кода». Означает ли «пустая» нулевую или пустую строку. При «сбое» вы получаете исключение? Может помочь трассировка стека исключений.