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>
二、修改編碼格式
然后重新啟動項目!?。。?/p>
三、最不應(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 Boot 2和Redis例子實現(xiàn)過程解析
這篇文章主要介紹了Spring Boot2發(fā)布與調(diào)用REST服務(wù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-11-11快速學(xué)會Dubbo的配置環(huán)境及相關(guān)配置
本文主要講解Dubbo的環(huán)境與配置,文中運(yùn)用大量代碼和圖片講解的非常詳細(xì),需要學(xué)習(xí)或用到相關(guān)知識的小伙伴可以參考這篇文章2021-09-09MyBatis-Plus如何通過注解使用TypeHandler
這篇文章主要介紹了MyBatis-Plus如何通過注解使用TypeHandler,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01java 通過cmd 調(diào)用命令啟動tomcat的操作
這篇文章主要介紹了java 通過cmd 調(diào)用命令啟動tomcat的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11springboot接入deepseek深度求索代碼示例(java版)
這篇文章主要介紹了springboot接入deepseek深度求索的相關(guān)資料,包括創(chuàng)建APIKey,封裝詢問工具方法,傳入問題,調(diào)用方法,但發(fā)現(xiàn)只能回答簡單問題,需要的朋友可以參考下2025-01-01