我们都知道mybatis的mapper文件和它对应的xml文件必须联系在一起才能够正常的工作,一般来说在maven的工程中,我们都会把mapper文件和xml文件一起放到src/main/java文件夹下,但是在编译时,maven只会把mapper这个java文件编译到classes目录下,而xml文件并不会,所以会导致应用找不到对应的xml文件。所以在pom文件中我们会加入下面这几句
<!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</build>
这样写的话,就可以把xml文件(上面还会把properties文件)放到classes文件中了
但是这么写的话,会使得maven工程认为src/main/java文件夹就是资源的文件夹了,而原来src/main/resources这个资源文件夹就失效了,它里面的资源文件是不会转到classes文件中的
所以准确的来说应该要这么写
<!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
<build>
<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>false</filtering>
</resource>
</resources>
</build>