Мои 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 был загружен.

Другие вопросы по тегам