一個Maven專案在eclipse中正常,但在IDEA中啟動時報錯
阿新 • • 發佈:2020-08-04
一個Maven專案在eclipse中正常,但在IDEA中啟動時報錯
報的錯是專案的dao層和Mybatis框架的.xml配置檔案繫結不上。總是報:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
無效的繫結,繫結異常。(這個問題卡了我一上午)
解決辦法參考連結: https://www.cnblogs.com/deolin/p/7703886.html
接下來自己總結一下(幾乎都和參考連結內容一致):
這個專案十有八九最初是在ecplise建立的,框架上十有八九整合了Mybatis,報的錯誤十有八九是:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
產生這個現象原因是這個Maven專案還不是一個不依賴IDE的純Maven專案。
它在ecplise之所以不報錯是因為eclipse build專案的時候自動將***Mapper.xml拷貝到了target資料夾,但專案作為Maven專案匯入到IDEA時,卻不會有類似的設定。
比較合適的方法是將這個策略寫進pom.xml的標籤內,這樣一套原始碼在兩種IDE都不會出現問題。
<resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> </resources>
然後右鍵專案 Rebuild Module ***
以上方法,親測有用。