У меня есть конкретная проблема с моим файлом конфигурации yml.У меня есть многомодульный проект Maven следующим образом:
app
|-- core
|-- web
|-- app
У меня есть этот файл конфигурации в core
project
@Configuration
@PropertySource("core-properties.yml")
public class CoreConfig {
}
И это отображение:
@Component
@ConfigurationProperties(prefix = "some.key.providers.by")
@Getter
@Setter
public class ProvidersByMarket {
private Map<String, List<String>> market;
}
Вот мои core-properties.yml
some.key.providers:
p1: 'NAME1'
p2: 'NAME2'
some.key.providers.by.market:
de:
- ${some.key.providers.p1}
- ${some.key.providers.p2}
gb:
- ${some.key.providers.p1}
Когда я загружаю файл, например, путем активации профиля, переименовываю файл в application-core-properties.yml
, а затем -Dspring.profiles.active=core-properties
он работает однако, если при попытке загрузить файл через @PropertySource("core-properties.yml")
он не , и я получаю следующую ошибку:
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-03-27 10:07:36.397 -ERROR 13474|| --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to bind properties under 'some.key.providers.by.market' to java.util.Map<java.lang.String, java.util.List<java.lang.String>>:
Reason: No converter found capable of converting from type [java.lang.String] to type [java.util.Map<java.lang.String, java.util.List<java.lang.String>>]
Action:
Update your application's configuration
Process finished with exit code 1