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)目?。。。?/p>
三、最不應(yīng)該出現(xiàn)的錯(cuò)誤
就是你的application.yml文件是通過(guò)把其他類型的文件后綴名直接改為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 AI構(gòu)建一個(gè)簡(jiǎn)單的問(wèn)答系統(tǒng)
Spring AI是Spring生態(tài)系統(tǒng)的最新成員,旨在簡(jiǎn)化AI服務(wù)與Spring應(yīng)用的集成過(guò)程,本文小編就來(lái)和大家簡(jiǎn)單介紹一下如何利用Spring AI構(gòu)建一個(gè)簡(jiǎn)單的問(wèn)答系統(tǒng)吧2025-05-05
SpringBoot中的Spring Cloud Hystrix原理和用法詳解
在Spring Cloud中,Hystrix是一個(gè)非常重要的組件,Hystrix可以幫助我們構(gòu)建具有韌性的分布式系統(tǒng),保證系統(tǒng)的可用性和穩(wěn)定性,在本文中,我們將介紹SpringBoot中的Hystrix,包括其原理和如何使用,需要的朋友可以參考下2023-07-07
SpringBoot簡(jiǎn)單實(shí)現(xiàn)文件上傳
這篇文章主要介紹了SpringBoot簡(jiǎn)單實(shí)現(xiàn)文件上傳,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-09-09
springMVC4之強(qiáng)大類型轉(zhuǎn)換器實(shí)例解析
本篇文章主要介紹了springMVC4之強(qiáng)大類型轉(zhuǎn)換器實(shí)例解析,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
SpringBoot多線程與任務(wù)調(diào)度總結(jié)
多線程與任務(wù)調(diào)度是java開(kāi)發(fā)中必須掌握的技能,本文主要介紹了SpringBoot多線程與任務(wù)調(diào)度總結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12
java讀取html文件,并獲取body中所有的標(biāo)簽及內(nèi)容的案例
這篇文章主要介紹了java讀取html文件,并獲取body中所有的標(biāo)簽及內(nèi)容的案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08

