Одна проблема здесь "spring.config.location:src/main/resources/"
устанавливает spring.config.location
на src/main/resources/
, который является не ресурсом пути к классам, а ресурсом файловой системы. Это выглядит из текущего каталога, из которого вы запускаете приложение Spring Boot.
Несколько исправлений:
Укажите полный путь к файловой системе, например:
public static void main(String[] args) {
ConfigurableApplicationContext applicationContext;
applicationContext = new SpringApplicationBuilder(YmlsApplication.class)
.properties("spring.config.name:applicationTest,CountriesData",
"spring.config.location:/Users/msimons/tmp/configs/")
.build().run(args);
ConfigurableEnvironment environment = applicationContext.getEnvironment();
MutablePropertySources sources = environment.getPropertySources();
sources.forEach(p -> System.out.println(p.getName()));
}
Или укажите ресурс classpath. Обратите внимание, что я поместил файлы конфигурации в отдельный каталог, который находится в src/main/resources/custom-config
:
public static void main(String[] args) {
ConfigurableApplicationContext applicationContext;
applicationContext = new SpringApplicationBuilder(YmlsApplication.class)
.properties("spring.config.name:applicationTest,CountriesData",
"spring.config.location:classpath:/custom-config/")
.build().run(args);
ConfigurableEnvironment environment = applicationContext.getEnvironment();
MutablePropertySources sources = environment.getPropertySources();
sources.forEach(p -> System.out.println(p.getName()));
}
Обратите внимание на classpath:
внутри пути, а также на запуск каталога на корневом уровне ресурсов с /
.