Maven项目加载不到Mybatis的xml文件报异常的解决方案

好记性不如烂笔头。

运行项目的时候报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)。先说解决方法,在pom文件中加上以下代码:

<build>
    <resources>
        <resource>
              <directory>src/main/java</directory>
              <includes>
                    <include>**/*.xml</include>
              </includes>
         </resource>
    </resources>
</build>

分析:
首先看下我的项目结构见图一。


图一

然后Maven编译一下见图二


图二

可以很明显的发现编译文件中少了mapping下的xml文件,就是这个原因导致程序报错。在pom文件中加上文章开头的代码,再重新编译见图三。
图三

mapping下的xml编译成功,此时执行程序就不报错了。

Maven项目示意图见图四


图四

结论:
Maven编译项目的时候只会把src/main/java下所有的*.java和src/main/resources里的文件编译放入target/classes文件夹,所以位于src/main/java下的xml文件就被忽略了。此时只需要在项目的pom文件中加入resources,把src/main/java下所有的*.xml也编译放入target/classes然后启动项目就可以了。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容