- 出现以下的情况(org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):...),是mapper和mapper.xml没有绑定成功
项目中存在对应的xml文件,为什么还会报错呢,到tomcat发布目录查看
确实发现少了对应的xml文件
- 总结原因:maven开发,maven认为src/main/java只是java的源代码路径,打jar包会过滤掉配置文件(xml,properties等配置文件)。
<build>
<resources>
<resource>
<!-- 定位到src/main/java目录(因为问题出在maven忽略了这里面的配置文件) -->
<directory>src/main/java</directory>
<includes>
<!-- 通配符的方法,使得该目录下的所有.properties、.xml文件都都配置进去 -->
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<!-- 这句是多余的,因为resouces目录下的配置文件maven不会忽略,所以是没问题的 -->
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
- 配置好以后,maven就不会遗漏xml文件了