Nacos配置中心yml文件中文配置启动报错问题解决

问题现象:启动本地接入nacos配置中心的应用抛异常org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1,异常如图


根据异常提示,大概发现就是nacos里的yml配置里存在中文注释,尝试将中文注释删除,重新启动,问题解决,证实是中文引发的问题。但是又不能确保所有的配置都不存在中文,所以尝试从编码方式上寻找另外一种解决方案。

网上找了些方案大概都是修改idea字符编码,将图中几处编码方式都改成UTF-8


重启后,问题仍然存在,又从一些文章上看到,将中文注释删掉,再来一遍,又重试一遍,仍然不行,好吧,继续度娘,后来看到有人说 再启动jar的时候加上 -Dfile.encoding=UTF-8可解决问题,但我们用的war包部署,没法启动时加命令,但是idea启动时可指定启动参数,如图,再vm options处再指定下编码方式,设置后,问题解决,启动不报错。


再进一步,如果本地启动不依赖idea,那又该如何设置?想想也是要从tomcat上下功夫。

因为windows环境下的tomcat,根据经验,是要在catalina.bat里面设置,但是具体在哪里设置,还不明确,尝试了几个位置加都不行,最后试出来在 Execute The Requested Command 处加,问题解决,重点在编码方式,xms设置的大小 可忽略。加一句echo,可以在tomcat启动时输出,方便查看配置是否生效。


你可能感兴趣的:(Nacos配置中心yml文件中文配置启动报错问题解决)