1. 程式人生 > 實用技巧 >一個Maven專案在eclipse中正常,但在IDEA中啟動時報錯

一個Maven專案在eclipse中正常,但在IDEA中啟動時報錯

一個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 ***

以上方法,親測有用。