1、首先,springcloud项目在idea中正常运行,但将项目打包成jar后无法启动。项目的注册中心与配置中心用的是Nacos。项目在启动时,会去Nacos注册中心拉取配置、并注册服务。在从Nacos中拉取解析配置时,发生错误。
错误信息如下:
org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1
2、通过多番查证,才知道这是因为配置文件中有中文注释,但是启动时没有指定文件的编码方式,导致识别中文错误。
3、最后启动时指定文件编码方式,成功启动项目
命令如下:
java -Dfile.encoding=utf-8 -jar xxxx.jar --spring.profiles.active=test