Idea使用Maven建立多模組SpringBoot專案問題記錄
軟體版本:
- Idea 15.0
- Maven 3
- Spring Boot 1.4
- JDK 1.7
專案結構:
flyat-admin為後臺
flyat-admin-app為後臺配置(攔截器、監聽器等)
flyat-core為核心層(mapper、service等)
flyat-web為前臺
flyat-web-app為前臺配置(攔截器、監聽器等)
其中flyat-web/flyat-admin 依賴flyat-web-app/flyat-admin-app,flyat-web-app/flyat-admin-app依賴flyat-core
異常資訊:
問題模組
問題流程:
在root模組上進行clean + package可以正常打包,然後java -jar xx.jar可以正常執行(無異常資訊),在flyat-web專案中手動啟動Applaction.java報上面的異常資訊。個人保證maven依賴都有(flyat-web-app和flyat-web-app配置是基本相同的,admin沒問題),並且專案上沒有明顯的異常提示(引用異常、程式碼異常都沒有),通過ctrl能正常定位到原始碼檔案位置,但是通過mvn clean之後就是不能正常run Applaction.java。
另外有一點需要注意,flyat-admin-app和flyat-web-app都是後來改的專案和module名字,原本不叫這個名字
解決方式:
因為通過對比配置檔案、重新新增依賴都不能解決,因此嘗試刪除原module後重新new一個,新增完之後複製原始碼檔案、新增對應依賴,編譯報錯,
檢視依賴資訊(jdk本來使用的預設配置OpenJdk,現在改成本機的JDK),
檢視iml檔案
重新clean、compile沒問題,執行 Applaction.java
啟動完成。
最後附上之前錯誤的一版和新建的module的iml檔案部分對比(右側為錯誤的一版)
最後總結:
一定要規範的來,在專案搭建之初就應該確認專案名稱、專案檔名稱,切不可中途隨便修改,要時刻保證檔案、依賴的一致性。