Caused by: java.lang.NoClassDefFoundError: org/springframework/cloud/client/loadbalancer/LoadBalanc
專案版本 spring boot 2.0.0.M3
spring cloud 2.0.0.M2
構建環境 gradle
問題
spring cloud feign 啟動報錯
Caused by: java.lang.NoClassDefFoundError:
org/springframework/cloud/client/loadbalancer/LoadBalancedRetryFactory
解決思路
根據錯誤資訊提示確實找不到LoadBalancedRetryFactory類,所以確定這肯定是jar包的問題。但是別人用確沒有問題!!小編真的懷疑人品了!
經過查詢並沒有找到這個版本下能解決問題的方案,和老大溝通後,給專案換了一個版本。
換到 spring boot 2.0.1.RELEASE
spring cloud Finchley.M9
這個時候提示
nested exception is java.lang.NoSuchFieldError: BINDER_BEAN_NAME
在專案中引入了spring-cloud-context解決問題
其他解決方案
在這個問題解決過程中,關於這個問題找到別人關於這個問題的解決方案
1、jar包中少部分類檔案,可能是中央倉庫的問題。國內一般用的都是阿里雲的倉庫,某些jar可能和官方不同,遇到這種問題可以先嚐試刪除本地從國外的倉庫上拉取
2、在專案中添加了spring-boot-starter-web依賴
3、把倉庫中關於springcloud的jar包刪除了,從新拉取
http://longzhiwuing.coding.me/2018/06/05/Caused-by-java-lang-NoClassDefFoundError-org-springframework-cloud-client-loadbalancer-LoadBalancedRetryFactory/
總結
這個問題花費了兩天時間,希望和我遇到同樣的同胞可以少走點彎路吧。
碎碎念,開發過程遇到問題還是先使用goole檢索吧;遇到好久都解決不了的問題,一定要先給自己喝一碗心靈的雞湯,相信沒有什麼問題是解決不了的,如果有那就是時間和付出還不夠。