Spring+Mybatis工程里,mybatis 的xml路径十分关键。通常状况下,xml放在resource目录里比较好一些。可是不少代码生成器生成的xml是被放在了java路径下的mapper包里,和xxxMapper.java在一块儿。这样的工程若是直接打包,是会产生不少问题的。 缘由在于若是你的资源文件在java包下面,则maven默认打包是不会认为这些资源文件须要打入包内,因此在启动的时候会报Invalid bound statement (not found),而若是资源文件放在resources文件夹下面就不会有问题,这与maven的资源存放机制有关。java
若是要求maven打包的时候将java包下面的非*.java文件也打入包中,则须要下面这这个配置项。mybatis
<build> ... <resources> <resource> <directory>src/main/resources</directory> <excludes> <exclude>**/.svn/*</exclude> </excludes> </resource> <resource> <directory>src/main/java</directory> <excludes> <exclude>**/.svn/*</exclude> </excludes> <includes> <include>**/*.xml</include> </includes> </resource> </resources> ... </build>