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>