Caused by: java.nio.charset.MalformedInputException: Input length = 1/2;

一、报错如下:

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文件,将复制的内容拷贝进去再运行项目就不会报错了。

注意:千万别再乱改后缀名咯!!!

猜你喜欢

转载自blog.csdn.net/qq_46687516/article/details/120201947
今日推荐