应用程序和nacos配置中心集成后,在windows的idea中正常,打完包,在windows系统上,通过控制台启动,报错下面的错


org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1
at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:218) ~[snakeyaml-1.25.jar!/:na]
at org.yaml.snakeyaml.reader.StreamReader.ensureEnoughData(StreamReader.java:176) ~[snakeyaml-1.25.jar!/:na]
at org.yaml.snakeyaml.reader.StreamReader.ensureEnoughData(StreamReader.java:171) ~[snakeyaml-1.25.jar!/:na]
at org.yaml.snakeyaml.reader.StreamReader.peek(StreamReader.java:126) ~[snakeyaml-1.25.jar!/:na]
at org.yaml.snakeyaml.scanner.ScannerImpl.scanToNextToken(ScannerImpl.java:1177) ~[snakeyaml-1.25.jar!/:na]
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:287) ~[snakeyaml-1.25.jar!/:na]
at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:227) ~[snakeyaml-1.25.jar!/:na]
at org.yaml.snakeyaml.parser.ParserImpl$ParseImplicitDocumentStart.produce(ParserImpl.java:195) ~[snakeyaml-1.25


java.nio.charset.MalformedInputException: Input length = 1_ide

然后把程序部署到linux系统上,也能正常启动。这就奇怪了,因为在windows的idea中能启动,linux中也能正常启动,而偏偏windows的控制台启动不了,这个时候想到了编码问题!

解决方法

# 指定-Dfile.encoding=UTF-8 

java -jar -Dfile.encoding=UTF-8 mydemo-1.0.0.jar