一个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 ***
以上方法,亲测有用。