Загрузка профиля пружины без указания - PullRequest
0 голосов
/ 17 января 2019

У меня есть загрузочный проект Maven / Spring, в котором я вижу странное поведение. Подводя итог, я хочу сказать, что весенний профиль пытается загрузить, но этот профиль не существует и не указан НИКОГДА в моем коде. Кажется, что имя профиля выбирается из другого свойства командной строки Java, поэтому меня это смущает.

По сути, моя командная строка выглядит примерно так:

Java -DEnvironmentID=qa01 -jar myapp.jar com.something.package.Loader LOAD

Из того, что я понимаю из документации командной строки Spring, является то, что мне нужно вызвать java с аргументом -Dspring.profiles.active=profileName, чтобы вызвать профиль. Поэтому, пока я этого не делаю, "qa01" выбирается в качестве профиля, и мое приложение пытается загрузить "application-qa01.properties"

Во время моего тестирования я также заметил, что небольшие модификации аргумента "-DEnvironmentID" будут препятствовать тому, чтобы это воспринималось как профиль (например, "qa10", "qa0", "a01", "qa100" и т.д ...)

В данный момент я в тупике и не могу определить, почему Spring выбрал бы его в качестве аргумента профиля.

1 Ответ

0 голосов
/ 20 января 2019

На всякий случай это может помочь кому-то в будущем:

Проблема коренится в зависимости моего проекта. Оказалось, что зависимость использовала тот же аргумент командной строки, что и мой, чтобы построить путь к файлу свойств, специфичному для среды, упакованному в jar. Так случилось, что проект зависимости построил имя / путь файла свойств точно так же, как профиль Spring, так что в конце концов он фактически не был связан с профилями. Когда jar-файл зависимостей не смог предоставить файл свойств, Spring продолжил поиск файла в моем проекте, в конечном итоге выдав ошибку.

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