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啟動時輸出,方便查看配置是否生效。


?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。