您好,登錄后才能下訂單哦!
這篇文章主要介紹“SpringCloud讀取Nacos配置中心報錯怎么解決”,在日常操作中,相信很多人在SpringCloud讀取Nacos配置中心報錯怎么解決問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”SpringCloud讀取Nacos配置中心報錯怎么解決”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
使用場景:
SpringBoot版本為2.6.0
Spring Cloud版本為2021.0.1
Spring Cloud Alibaba版本為2021.0.1.0
如果你的Cloud版本是2020.0.0版本之后的,建議直接先看是否是由第二個坑引起的。
出現該報錯的意思一般是使用@Value()注解讀取的配置文件數據無法解析
可能情況有兩種:一種是配置文件注冊進去了,但是沒有讀取到配置文件中的指定參數
第二種情況:配置文件就沒有解析注冊,導致無法讀取到參數信息,我的是由于第二種,解決在第二個坑。
如果第一種就檢查yml中參數格式是否正確,拼寫是否正確等
如果確認都正確就可能是下面的原因:
因為根據官方文件介紹,
因此需要檢查你本地代碼中的bootstrap.yml中寫的配置文件的名稱,是否能夠和Nacos中的配置文件的名稱對應上,
在這里還應該注意:Nacos中的配置文件的DataId中要寫入文件的后綴,并且Nacos是區分yaml和yml的,所以Nacos中的后綴要和本地bootstrap.yml中的file-extension的參數對應!
正確的情況下,我的Nacos文件如下:
我的 bootstrap.yaml文件如下:
server: port: 8081 spring: application: name: nacos-config-a cloud: nacos: config: # 項目在啟動時,配置怎么去哪里拿去配置文件? server-addr: localhost:8848 username: nacos password: nacos file-extension: yaml # 配置文件類型 # namespace: public # namespace不寫時去默認名稱空間獲取 # group: DEFAULT_GROUP # group不寫時去默認組獲取 # prefix: nacos-config-a # 表示讀取哪個配置文件?不寫時默認使用${spring.application.name}
以上配置文件名稱對應完畢之后,先啟動Nacos,再重啟啟動本地IDEA,測試是否啟動成功!
如果確定上述文件配置沒有問題的話,建議看一下是否是第二個坑,
我就是上面確定文件類型對應沒有問題了,但是啟動還是會報第一個錯誤,經過很多嘗試之后出現了第二個報錯,當然同學們也肯定沒有出現第二個報錯,仍然還是啟動不起來,
我們知道SpringCloud連接遠程Nacos是需要使用bootstrap配置文件的,
但是在2020.0.0版本之后,SpringCloud不再默認識別并加載bootstrap.yml配置了,也就是說就算你有bootstrap.yml文件,在不引入相關依賴的情況下,系統啟動也不會給你讀取的,坑!!!
因此如果你需要啟動bootstrap配置,需要在你的pom中加入如下依賴,
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</artifactId> </dependency>
之后重新加載pom,并啟動項目即可!
到此,關于“SpringCloud讀取Nacos配置中心報錯怎么解決”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。