admin管理员组

文章数量:1571377

今天在打完镜像之后在本地运行时,出现了org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1这个错误。接下来我第一步是去运行一下jar包,看看jar是不是正常的,同时看一下别的镜像和jar包有没有这样的问题。最后发现只有业务微服务出现这个问题。同时日志的最后一行显示的内容是:If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).但是我的配置文件都是写在nacos上面的。

首先,先要明确是什么问题:nacos文件解析错误。可能是因为文件编码的问题,因为配置文件中是中英文混杂的。所以我先看了一下idea的文件编码类型。点击路线:File - settings-editor-file encoding 确保自己的三个红框都是UTF-8的编码。

然后重启启动了jar包,发现还是不行,上网搜了一下才明白idea的Terminal和cmd一样都是以GBK为默认编码格式。所以加上了-Dfile.encoding=utf-8重新运行发现是可以的。

最后我把配置文件中的中文注释全部删掉,同时不加上-Dfile.encoding=utf-8发现还是可以正常运行的。

但是nacos里面不可能不加中文注释,所以还是卡住了怎么解决编码问题。哪位大神可以提供一些解决思路?

本文标签: 错误文件yamlsnakeyamlNacos