最近做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>