搞Mybatis的时候出现一个错,报错信息如题.
主要是映射文件加载的问题.
假如java文件夹中跟resources文件夹中的目录是一一对应,也就是下面这样
| main | java | com | swifter | mapper | UserMapper.java |
| resources | com | swifter | mapper | UserMapper.xml |
上面这样的实际目录结构(在文件夹中)是不会有问题的,java文件跟xml文件会打包到同一个目录下,如下图
但是通过idea在resources中创建的实际目录结构是下面这样┑( ̄Д  ̄)┍
| main | java | com | swifter | mapper | UserMapper.java |
| java | com.swifter.mapper | UserMapper.xml | |||
打包之后实际目录结构如下图,xml文件被打包到一个名叫com.swifter.mapper的文件夹,这就导致xml文件找不到.
解决方法:
<build>
<!-- 这个元素描述了项目相关的所有资源路径列表,例如和项目相关的属性文件,这些资源被包含在最终的打包文件里。 -->
<resources>
<resource>
<!-- 描述存放资源的目录,该路径相对POM路径 -->
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>