1. 程式人生 > >Caused by: java.lang.NoClassDefFoundError: org/springframework/cloud/client/loadbalancer/LoadBalanc

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檢索吧;遇到好久都解決不了的問題,一定要先給自己喝一碗心靈的雞湯,相信沒有什麼問題是解決不了的,如果有那就是時間和付出還不夠。