Spring STS не загружает переменные окружения, а работает maven - PullRequest
0 голосов
/ 27 июня 2019

Я использую Mac OS Mojave с Spring STS версии 3.9.7.

Поэтому я пытаюсь загрузить некоторые переменные среды, такие как имя пользователя и пароль базы данных, в мой файл application.properties, но Spring не удаетсязагрузите их в.

Я использовал эту команду для установки переменной окружения имени пользователя:

export ABC_DB_UNAME=some_username

и когда я делаю echo $ ABC_DB_UNAME или printenv Я вижу значение.

В моем файле application.properties я установил имя пользователя, как показано ниже:

spring.datasource.username=${ABC_DB_UNAME}

Теперь, когда я запускаю мои пружинные sts из самой IDE, этоне удается получить значения, и возникает исключение, что

доступ запрещен для ABC_DB_UNAME @ database_endpoint.

Это ясно показывает, что spring sts не собирает переменные моей среды.

Что делает меня более крутым, так это то, что когда я запускаю приложение spring через maven с помощью команды ниже, он выбирает переменные окружения и работает просто отлично.

mvn spring-boot:run

, но с помощью команды mvn я не знаю, как я могу сделать среду IDE для запуска точек останова для отладки.

EDIT : тестирование и попытка печати переменной среды с использованием кода System.getenv ("ABC_DB_UNAME") и System.getProperty ("ABC_DB_UNAME") также возвращает значение NULL, но Maven по-прежнему работает.

1 Ответ

1 голос
/ 27 июня 2019

Я думаю, что переменная окружения временно установлена ​​в терминале. Следовательно, mvn spring-boot:run работает. Вы можете запустить его в другом терминале, он должен дать сбой

Вам необходимо установить $ {ABC_DB_UNAME} в bashrc (mac), чтобы сохранить его навсегда. или вы можете передать переменную окружения в качестве аргумента при запуске приложения.

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