最近做cxf+spring+mybatis集成的一个小例子,用maven打包后,mybatis的sql语句老是调不到。
报以下错误:
javax.xml.ws.soap.SOAPFaultException: Invalid bound statement (not found)
原来是项目maven打包并未把mybatis对应的Dao类.xml copy进去,sqlSessionFactory里面并未注册实体dao里面的sql语句,所以执行出现Invalid bound statement 。
maven下pom.xml 默认并不打包项目src下xml,properties等配置文件的。
需要加以下代码
<resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <!-- 是否替换资源中的属性--> <filtering>false</filtering> </resource> <resource> <directory>src/main/resources</directory> <!-- <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>true</filtering> --> </resource> </resources>
一个小问题耗了很长时间,得多多长记心了!