SpringBoot啟動java.nio.charset.MalformedInputException: Input length = 1報錯的解決方案
最近新搭的一個eureka項目,啟動時,會報MalformedInputException這個異常,
百度了很久,網(wǎng)上說的千篇一律,
- 有的說,把yml復(fù)制到txt再復(fù)制回來
- 有的說,設(shè)置idea的utf-8環(huá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)這個的原因,就是解析yml文件時,中文字符集不是utf-8的原因,
但是通過cmd命令,mvn clean compile 后,項目又可以成功運(yùn)行
找了很久問題,使用eclipse和idea同時測試,最終發(fā)現(xiàn),是maven在項目編譯時,默認(rèn)字符集編碼是GBK
一、檢查pom文件
我們首先需要在pom文件中設(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>
二、修改編碼格式


然后重新啟動項目?。。?!
三、最不應(yīng)該出現(xiàn)的錯誤
就是你的application.yml文件是通過把其他類型的文件后綴名直接改為yml生成的,這時就需要你把a(bǔ)pplication.yml中的內(nèi)容全部復(fù)制,然后刪除,再新建一個application.yml文件,將復(fù)制的內(nèi)容拷貝進(jìn)去再運(yùn)行項目就不會報錯了。
四、總結(jié):
這個問題,在一般成熟的項目里面是不會出現(xiàn)的,他一般出現(xiàn)在新建的項目上面,因為一般新建的項目有些配置不夠完善,這一塊是需要注意的地方。
到此這篇關(guān)于SpringBoot啟動java.nio.charset.MalformedInputException: Input length = 1報錯的解決方案的文章就介紹到這了,更多相關(guān)java.nio.charset.MalformedInputException內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺析如何利用Spring AI構(gòu)建一個簡單的問答系統(tǒng)
Spring AI是Spring生態(tài)系統(tǒng)的最新成員,旨在簡化AI服務(wù)與Spring應(yīng)用的集成過程,本文小編就來和大家簡單介紹一下如何利用Spring AI構(gòu)建一個簡單的問答系統(tǒng)吧2025-05-05
SpringBoot中的Spring Cloud Hystrix原理和用法詳解
在Spring Cloud中,Hystrix是一個非常重要的組件,Hystrix可以幫助我們構(gòu)建具有韌性的分布式系統(tǒng),保證系統(tǒng)的可用性和穩(wěn)定性,在本文中,我們將介紹SpringBoot中的Hystrix,包括其原理和如何使用,需要的朋友可以參考下2023-07-07
springMVC4之強(qiáng)大類型轉(zhuǎn)換器實例解析
本篇文章主要介紹了springMVC4之強(qiáng)大類型轉(zhuǎn)換器實例解析,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
SpringBoot多線程與任務(wù)調(diào)度總結(jié)
多線程與任務(wù)調(diào)度是java開發(fā)中必須掌握的技能,本文主要介紹了SpringBoot多線程與任務(wù)調(diào)度總結(jié),具有一定的參考價值,感興趣的可以了解一下2023-12-12
java讀取html文件,并獲取body中所有的標(biāo)簽及內(nèi)容的案例
這篇文章主要介紹了java讀取html文件,并獲取body中所有的標(biāo)簽及內(nèi)容的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08

