首頁  >  文章  >  Java  >  springboot讀取application.yml報錯怎麼解決

springboot讀取application.yml報錯怎麼解決

PHPz
PHPz轉載
2023-05-22 11:49:051874瀏覽

springboot讀取application.yml報錯

springboot專案啟動時,讀取設定檔出錯

錯誤訊息如下

Failed to load property source from location 'classpath:/application.yml'
......
org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1

#查找資料,原因基本上確定為文件編碼格式的問題(原yml文件為GBK格式),於是將GBK格式改為UTF-8,改完後發現之前文件中註釋的中文亂碼了,問題的原因應該是出自於這裡,於是將註解全部刪除,再啟動就正常了。

註:檔案格式更改後,看是否有亂碼現象,註解也會有影響。

@Value讀取Application.yml為null

專案需求

#在springBoot中有一個寫死的url,發送http請求取得一個視訊位址。

springboot讀取application.yml報錯怎麼解決

一開始的思路是這樣的,然後考慮到這樣寫不夠靈活,因為是springBoot項目,所以直接在設定檔中取得url這樣是十分方便的。

springboot讀取application.yml報錯怎麼解決

然後需要取得Value的敵方使用@VALUE註解來取得

springboot讀取application.yml報錯怎麼解決

但是死活取得不到該處的URL,一直為空。

解決方法

最後發現變數我之前用static修飾。 static是在類別載入前便初始化變數。所以這時@VALUE並沒有生效。所以為NULL

只要要把static去掉就可以了。

springboot讀取application.yml報錯怎麼解決

以上是springboot讀取application.yml報錯怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除