SpringCloud Alibaba从Nacos读取配置文件。
在开发工具运行,没有问题,正常启动。
打包后,jar包启动 java -jar application-1.0.0.jar,出现错误:
ERROR - [main] c.a.c.n.c.NacosPropertySourceBuilder : parse data from Nacos error,dataId:application-dev.yml,data:spring:
...
org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1
问题原因:
配置内容编码不一致导致。
配置文件中有中文,而nacos读取配置文件时默认编码为utf-8,而通过cmd启动项目默认使用gbk。
解决方法:
启动时指定编码格式,-Dfile.encoding=utf-8 .
java -jar -Dfile.encoding=utf-8 -Dserver.port=8080 application-1.0.0.jar