Мои application.properties из зависимости не доступны в весенней загрузке приложения
У меня есть приложение весенней загрузки. В этом весеннем загрузочном (толстом банке) приложении у меня есть classpath:config/application.properties
а также classpath:application-env.properties
,
Я запускаю это приложение с помощью команды:
java -Dspring.profiles.active=env -jar application.jar --some-parameter=some-value
Вопрос: почему application.properties
файл не доступен во время инициализации этого приложения из классов (бинов), локализованных в моей зависимости?
Этот файл (application.properties
) локализуется в classpath:application.properties
моей зависимости.
Я ожидаю, что некоторые свойства с определенным префиксом - с использованием аннотации:
@ConfigurationProperties(prefix = "someprefix")
и снова то же самое другими словами:
заявка A
иметь classpath:config/application.properties
+ Приложение A
есть / использует зависимость от какого-то артефакта D
зависимость (баночка) D.jar
иметь classpath:application.properties
это application.properies не доступно во время инициализации bean-компонента B
с аннотатином @ConfigurationProperties(prefix = "someprefix")
в соответствии с 24.3 файлов свойств приложения "Корень пути к классу" должен быть в порядке, но это не так.
Это приложение с толстыми банками - в одной большой банке у нас есть все, включая папку 'lib'
со всеми зависимостями.
1 ответ
ОК,:(Решение моей проблемы было тривиальным. Мое приложение загружалось по-другому classpath:/application.properites
чем я думал.
У меня был другой jar зависимостей, введенный в мой проект не напрямую (это была зависимость для моей зависимости), который содержит разные classpath:/application.properites
,
Другими словами, все работает нормально, но загружается только один classpath:/application.properties, даже если у вас есть две в двух разных зависимостях.
Я использовал / привод /env, чтобы узнать, какие classpath:/application.dependency
был загружен.