SpringBoot启动java.nio.charset.MalformedInputException: Input length = 1报错的解决方案
最近新搭的一个eureka项目,启动时,会报MalformedInputException这个异常,
百度了很久,网上说的千篇一律,
有的说,把yml复制到txt再复制回来
有的说,设置idea的utf-8环境
这些根本没有根治这个问题。
下面是这个简单的异常信息
java.lang.IllegalStateException: Failed to load property source from 'file:/D:/IDEA/spring-cloud/sp05-eureka/target/classes/application.yml' (classpath:/application.yml)
Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1
出现这个的原因,就是解析yml文件时,中文字符集不是utf-8的原因,
但是通过cmd命令,mvn clean compile 后,项目又可以成功运行
找了很久问题,使用eclipse和idea同时测试,最终发现,是maven在项目编译时,默认字符集编码是GBK