赞
踩
- person: "一号"
- age: 10
- name: "老王"
以上为yam文件片段,springboot运行时,会报以下错误:
- java.lang.IllegalStateException: Failed to load property source from location 'classpath:/application-pro.yml'
- at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.load(ConfigFileApplicationListener.java:524)
- at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.loadForFileExtension(ConfigFileApplicationListener.java:462)
- at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.load(ConfigFileApplicationListener.java:443)
- at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.lambda$null$6(ConfigFileApplicationListener.java:425)
- at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader$$Lambda$40/35534346.accept(Unknown Source)
- at java.lang.Iterable.forEach(Iterable.java:75)
- at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.lambda$load$7(ConfigFileApplicationListener.java:425)
- at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader$$Lambda$39/2082781203.accept(Unknown Source)
- at java.lang.Iterable.forEach(Iterable.java:75)
- at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.load(ConfigFileApplicationListener.java:422)
- at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.load(ConfigFileApplicationListener.java:321)
- at org.springframework.boot.context.config.ConfigFileApplicationListener.addPropertySources(ConfigFileApplicationListener.java:202)
- at org.springframework.boot.context.config.ConfigFileApplicationListener.postProcessEnvironment(ConfigFileApplicationListener.java:186)
- at org.springframework.boot.context.config.ConfigFileApplicationListener.onApplicationEnvironmentPreparedEvent(ConfigFileApplicationListener.java:176)
- at org.springframework.boot.context.config.ConfigFileApplicationListener.onApplicationEvent(ConfigFileApplicationListener.java:164)
- at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
- at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
- at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
- at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
- at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:75)
- at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53)
- at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:340)
- at org.springframework.boot.SpringApplication.run(SpringApplication.java:304)
- at org.springframework.boot.SpringApplication.run(SpringApplication.java:1213)
- at org.springframework.boot.SpringApplication.run(SpringApplication.java:1202)
- at com.csii.ifinance.integration.IntegrationApplication.main(IntegrationApplication.java:17)
- Caused by: org.yaml.snakeyaml.parser.ParserException: while parsing a block mapping
- in 'reader', line 1, column 1:
- person: "一号"
- ^
- expected <block end>, but found '<block mapping start>'
- in 'reader', line 2, column 3:
- age: 10
- ^
-
- at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:572)
- at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:158)
- at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148)
- at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:214)
- at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:144)
- at org.yaml.snakeyaml.composer.Composer.getNode(Composer.java:85)
- at org.yaml.snakeyaml.constructor.BaseConstructor.getData(BaseConstructor.java:123)
- at org.yaml.snakeyaml.Yaml$1.next(Yaml.java:547)
- at org.springframework.beans.factory.config.YamlProcessor.process(YamlProcessor.java:160)
- at org.springframework.beans.factory.config.YamlProcessor.process(YamlProcessor.java:134)
- at org.springframework.boot.env.OriginTrackedYamlLoader.load(OriginTrackedYamlLoader.java:75)
- at org.springframework.boot.env.YamlPropertySourceLoader.load(YamlPropertySourceLoader.java:49)
- at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.loadDocuments(ConfigFileApplicationListener.java:542)
- at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.load(ConfigFileApplicationListener.java:497)
- ... 25 common frames omitted
- Disconnected from the target VM, address: '127.0.0.1:63834', transport: 'socket'
-
- Process finished with exit code 1
原因分析:
yam文件有较为严格的格式,格式不正确就无法正常解析。由于本人也是第一次使用yam文件,不懂其规则。经百度才知道当该节点还有其他子节点时,该父节点不能有值。
解决方法,改成一下格式即可:
- person:
- age: 10
- name: "老王"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。