天天看點

關于idea導入maven工程(包括聚合工程)出現大面積報錯的解決

idea導入maven工程出現大量錯誤,包括聚合工程中,導入後,出現pom.xml中定義的版本管理,在其他的子產品中的pom.xml中出現錯誤

原因是導入的僅僅是一個maven項目,單是還不是一個聚合工程,可以檢視右側的maven發現剛導入的時候是隻要一個父工程的,如下圖,你也可以通過,項目的結構來檢視

關于idea導入maven工程(包括聚合工程)出現大面積報錯的解決

檢視項目的結構如下

關于idea導入maven工程(包括聚合工程)出現大面積報錯的解決
關于idea導入maven工程(包括聚合工程)出現大面積報錯的解決

通用剛導入的時候是隻要一個parent父工程

關于idea導入maven工程(包括聚合工程)出現大面積報錯的解決

那麼這個時候就需要我們手動的來将所有的module一個一個添加進來,方法如下:

關于idea導入maven工程(包括聚合工程)出現大面積報錯的解決

選擇父工程下的子子產品,一個一個的添加

關于idea導入maven工程(包括聚合工程)出現大面積報錯的解決

直到所有的module都添加進來以後,點選ok,如果此時點選ok報錯了,那就直接點選取消,項目還是會加進來的,不用理他

在檢視的時候就可以看到所有的子產品都添加進來了

關于idea導入maven工程(包括聚合工程)出現大面積報錯的解決

接下來需要将resources進行标記為資源檔案(如果不進行标記會報錯):方法有兩種

方式一:在項目結構中将resoures進行标記,一個一個标記

關于idea導入maven工程(包括聚合工程)出現大面積報錯的解決

方式二:用下圖進行一個一個的标記

選擇resoures檔案夾滑鼠右擊:

關于idea導入maven工程(包括聚合工程)出現大面積報錯的解決

找到下圖的:

關于idea導入maven工程(包括聚合工程)出現大面積報錯的解決

直到檔案夾出現一個小書欄的圖示就ok了

關于idea導入maven工程(包括聚合工程)出現大面積報錯的解決

同時最好将resources資源目錄的檔案夾都标記一下:

關于idea導入maven工程(包括聚合工程)出現大面積報錯的解決
關于idea導入maven工程(包括聚合工程)出現大面積報錯的解決

其标記之後的檔案如下:

關于idea導入maven工程(包括聚合工程)出現大面積報錯的解決

标記的原因是:我之前沒有标記,在配置掃描mapper接口的包的時候,idea直接點選到的位置是這個resources中的檔案夾,導緻,項目啟動後通路一直報錯:Invalid bound statement (not found),當時檢視編譯之後的檔案,沒有問題,接口檔案和這個xml檔案都copy到了一起了,就一直很納悶,原來是這個問題

原因就是:接口所在的檔案夾和這個xml所在的檔案夾在用一個(也要求同一個),而又沒有标記為排除,導緻idea以為你的掃描的是resources中的檔案,注意這個掃描不是掃描編譯之後的

如果不是導入的maven項目,而是建立的maven項目就沒有這個問題了

如果子子產品的pom.xml中版本管理的jar還是報錯,就在父工程中将版本管理的标簽先暫時注釋掉,讓maven加載/下載下傳依賴

關于idea導入maven工程(包括聚合工程)出現大面積報錯的解決

最後更新maven工程,整個maven工程/聚合工程就不會報錯了,就可以運作了,搞定,(* ̄︶ ̄)!