報錯No bean named ' is defined的原因和解決方案

zyt5215發表於2018-02-08

專案為dubbo+springmvc+spring+mybatis

貼上專案目錄 如下:


baidu-dubbo為父專案;

其他的都是子專案;

其中core專案 和  ifc 專案為jar包  core專案是專案自己的一些介面     ifc是暴露出來的公共介面

service專案和web專案是war包;   service是業務處理層  web是主要是負責頁面跳轉邏輯的

core專案中引入了ifc專案  service中也引入了ifc專案   web中引入了core和ifc專案

這篇文章主要講一個操作性的錯誤:

專案是公司的專案從git上拉取下來的   配置都沒問題 

別的同事是正常啟動的

可是我啟動就報錯  : No bean named ' is defined;

按照以下邏輯排查了錯誤:

1 類名是否寫錯  , 專案找不到這個類

2 類名沒錯  , 但是對應的bean沒有加上註解

3 配置檔案裡面掃描的包名路徑是否正確 , 路徑不正確掃描不到bean 肯定載入不到

4 dubbo的配置一定要放在spring掃描載入所有bean之後  , 這樣dubbo呼叫服務才能找到對應的服務

幾步排查基本可以找到錯誤  :

可是以上問題我的並沒有出現

於是  我想起來了一個可能忽視的原因:

因為是父子專案  執行的時候我需要把jar包的專案install到本地倉庫中  否則是找不到對應的引用的

於是我對兩個jar包專案右鍵====>Run As====>maven clean =====>maven install

但是此時第二個jar包專案 install一直失敗 ,

百度發現原因: 對子專案maven clean maven install之前必須對父專案  clean install

於是我按照順序  依次clean install -->父專案 --->ifc專案(因為是core引用了ifc,所以要先install專案ifc)--->core專案  成功執行 不再報錯 


相關文章