赞
踩
有小伙伴反应SpringBoot项目启动异常,但是同组其他伙伴的无问题!
ERROR org.springframework.boot.SpringApplication -
Application run failed
org.yaml.snakeyaml.error.YAMLException:
java.nio.charset.MalformedInputException : Input length = 1
根据异常信息提示,一般是YAML配置文件格式或编码集有问题。
java.nio.charset
定义用来在字节和 Unicode
字符之间转换的 charset
、解码器和编码器。
java.nio.charset.MalformedInputException异常表示输入的字符流或字节流无效,即无法解析。
YAML文件是一种文本文件,它使用Unicode字符集编码存储数据。常见的编码格式有UTF-8、UTF-16等。
在SnakeYAML库中,当解析YAML文件时,如果文件的编码格式与解析器的期望不符,就会抛出这个异常。
项目的编码格式一般统一为UTF-8
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<java.version>1.8</java.version>
</properties>
有两个解决思路:
将yml配置文件中的中文注释全部删除
但是本来是需要注释才能对各类配置做特定解释,所以不建议
新建一个配置文件为UTF-8的文件,将原有配置使用txt文件夹打开,再重新复制到新的yml配置文件中
如果团队的就复制其他小伙伴的,或者是以前正常运行项目的文件
以上两种方式全部尝试过依然失败告终。
仔细检查发现他们小组间未统一JDK版本,有成员尝试新特性jdk11 17 21
忘记改回
重新配置JDK版本后,程序正常运行并访问成功!
// 大威天龙,大罗法咒,般若诸佛,般若巴嘛轰。哼!雕虫小技,竟敢班门弄斧,大威天龙!// // _ooOoo_ // // o8888888o // // 88" . "88 // // (| ^_^ |) // // O\ = /O // // ____/`---'\____ // // .' \\| |// `. // // / \\||| : |||// \ // // / _||||| -:- |||||- \ // // | | \\\ - /// | | // // | \_| ''\---/'' | | // // \ .-\__ `-` ___/-. / // // ___`. .' /--.--\ `. . ___ // // ."" '< `.___\_<|>_/___.' >'"". // // | | : `- \`.;`\ _ /`;.`/ - ` : | | // // \ \ `-. \_ __\ /__ _/ .-` / / // // ========`-.____`-.___\_____/___.-`____.-'======== // // `=---=' // // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // // 佛祖保佑 永不宕机 永无BUG //
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。