通过maven test 报org.apache.ibatis.binding.BindingException: Invalid bound statement
Posted jwentest
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过maven test 报org.apache.ibatis.binding.BindingException: Invalid bound statement相关的知识,希望对你有一定的参考价值。
背景
直接使用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目录,就可以修复这个问题
以上是关于通过maven test 报org.apache.ibatis.binding.BindingException: Invalid bound statement的主要内容,如果未能解决你的问题,请参考以下文章
[转]maven打包报错:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.5:test
git 打包报错:Maven Build时提示:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4
maven install时报错 Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (
无法加载 mojo 'test' - org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M1:test
eclipse创建maven项目出现以下报错: org.apache.maven.archiver.MavenArchiver.getManifest (org.apache.maven.proje
eclipse pom文件报错 org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.Mav (Cl