SpringBoot啟動(dòng)java.nio.charset.MalformedInputException: Input length = 1報(bào)錯(cuò)的解決方案
最近新搭的一個(gè)eureka項(xiàng)目,啟動(dòng)時(shí),會(huì)報(bào)MalformedInputException
這個(gè)異常,
百度了很久,網(wǎng)上說(shuō)的千篇一律,
- 有的說(shuō),把yml復(fù)制到txt再?gòu)?fù)制回來(lái)
- 有的說(shuō),設(shè)置idea的utf-8環(huán)境
這些根本沒(méi)有根治這個(gè)問(wèn)題。
下面是這個(gè)簡(jiǎn)單的異常信息
java.lang.IllegalStateException: Failed to load property source from 'file:/D:/IDEA/spring-cloud/sp05-eureka/target/classes/application.yml' (classpath:/application.yml)
Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1
出現(xiàn)這個(gè)的原因,就是解析yml文件時(shí),中文字符集不是utf-8的原因,
但是通過(guò)cmd命令,mvn clean compile 后,項(xiàng)目又可以成功運(yùn)行
找了很久問(wèn)題,使用eclipse和idea同時(shí)測(cè)試,最終發(fā)現(xiàn),是maven在項(xiàng)目編譯時(shí),默認(rèn)字符集編碼是GBK
一、檢查pom文件
我們首先需要在pom文件中設(shè)置,編譯時(shí)編碼utf-8即可,如果解決不了進(jìn)行第二步
<properties> <java.version>1.8</java.version> <spring-cloud.version>Hoxton.SR6</spring-cloud.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding> </properties>
二、修改編碼格式
然后重新啟動(dòng)項(xiàng)目?。。?!
三、最不應(yīng)該出現(xiàn)的錯(cuò)誤
就是你的application.yml文件是通過(guò)把其他類(lèi)型的文件后綴名直接改為yml生成的,這時(shí)就需要你把a(bǔ)pplication.yml中的內(nèi)容全部復(fù)制,然后刪除,再新建一個(gè)application.yml文件,將復(fù)制的內(nèi)容拷貝進(jìn)去再運(yùn)行項(xiàng)目就不會(huì)報(bào)錯(cuò)了。
四、總結(jié):
這個(gè)問(wèn)題,在一般成熟的項(xiàng)目里面是不會(huì)出現(xiàn)的,他一般出現(xiàn)在新建的項(xiàng)目上面,因?yàn)橐话阈陆ǖ捻?xiàng)目有些配置不夠完善,這一塊是需要注意的地方。
到此這篇關(guān)于SpringBoot啟動(dòng)java.nio.charset.MalformedInputException: Input length = 1報(bào)錯(cuò)的解決方案的文章就介紹到這了,更多相關(guān)java.nio.charset.MalformedInputException內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Boot 2和Redis例子實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了Spring Boot2發(fā)布與調(diào)用REST服務(wù)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11快速學(xué)會(huì)Dubbo的配置環(huán)境及相關(guān)配置
本文主要講解Dubbo的環(huán)境與配置,文中運(yùn)用大量代碼和圖片講解的非常詳細(xì),需要學(xué)習(xí)或用到相關(guān)知識(shí)的小伙伴可以參考這篇文章2021-09-09MyBatis-Plus如何通過(guò)注解使用TypeHandler
這篇文章主要介紹了MyBatis-Plus如何通過(guò)注解使用TypeHandler,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01java 通過(guò)cmd 調(diào)用命令啟動(dòng)tomcat的操作
這篇文章主要介紹了java 通過(guò)cmd 調(diào)用命令啟動(dòng)tomcat的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11springboot接入deepseek深度求索代碼示例(java版)
這篇文章主要介紹了springboot接入deepseek深度求索的相關(guān)資料,包括創(chuàng)建APIKey,封裝詢問(wèn)工具方法,傳入問(wèn)題,調(diào)用方法,但發(fā)現(xiàn)只能回答簡(jiǎn)單問(wèn)題,需要的朋友可以參考下2025-01-01java實(shí)現(xiàn)簡(jiǎn)單銀行管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單銀行管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12