虚幻0516 发表于 2017-12-25 16:38:38

通过maven test 报org.apache.ibatis.binding.BindingException: Invalid bound statemen

背景
  直接使用eclipse工具去执行,没有问题,通过testng.xml去执行,没有问题,但通过mvn clean test执行,就报错,提示org.apache.ibatis.binding.BindingException: Invalid bound statement
解决方法
  首先先肯定的是:mybatis的配置是没有问题,因为eclipse可以正常执行;
  在eclipse中把mapper的xml文件放到src代码目录下是可以一起打包进classes的,而maven去编译的时候不会,就会导致找不到xml报错。


[*]  第一种,由于idea默认是不打包src中的xml文件,所以在eclipse中你可以把xml放到src中没有问题,但是在idea中,你把mapper的xml文件放到resources资源中就可以正常访问!
  这种的话由于代码调整比较大,不建议这样修改;
[*]  第二种 在maven配置maven对资源文件的访问,具体做法:在pom中,build节点中加入
<resources>    <resource>      <directory>src/main/resources</directory>      <includes>            <include>**/*.properties</include>            <include>**/*.xml</include>      </includes>      <filtering>true</filtering>    </resource>    <resource>      <directory>src/main/java</directory>      <includes>            <include>**/*.properties</include>            <include>**/*.xml</include>      </includes>      <filtering>true</filtering>    </resource></resources>  maven在build的时候可以指定resources目录,就可以修复这个问题

页: [1]
查看完整版本: 通过maven test 报org.apache.ibatis.binding.BindingException: Invalid bound statemen