一、报错如下:
java.lang.IllegalStateException: Failed to load property source from 'file:/D:/MyProject/vip-springcloud/configserverdemo/target/classes/application.yml' (classpath:/application.yml)
at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.load(ConfigFileApplicationListener.java:554) ~[spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.loadForFileExtension(ConfigFileApplicationListener.java:499) ~[spring-boot-2.3.0.RELEASE.jar:2.3.0.RELEASE]
at com.example.configserverdemo.ConfigServerDemoApplication.main(ConfigServerDemoApplication.java:13) [classes/:na]
Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1
at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:218) ~[snakeyaml-1.26.jar:na]
at org.yaml.snakeyaml.reader.StreamReader.ensureEnoughData(StreamReader.java:176) ~[snakeyaml-1.26.jar:na]
Caused by: java.nio.charset.MalformedInputException: Input length = 1
at
二、造成原因:
可能就是你的application.yml文件是通过把其他类型的文件后缀名直接改为yml生成的
三、解决办法:
1.在yml文件里面是不能出现中文字符的,去掉后重新启动项目即可。
如果还报错:application.yml文件编码格式有问题,改为UTF-8
2.File-settings-File Encoding设置
3.pom.xom文件设置依赖
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>
推荐办法:
需要你把application.yml中的内容全部复制,然后删除,再新建一个application.yml文件,将复制的内容拷贝进去再运行项目就不会报错了。
注意:千万别再乱改后缀名咯!!!