转:Maven项目编译后classes文件中没有dao的xml文件以及没有resources中的配置文件的问题解决

时间:2021-12-29 10:32:59

问题1:在做spring+mybatis时,自动扫描都配置正确了,却在运行时出现了如下错误。后来查看target/classes/.../dao/文件夹下,发现只有mapper的class文件,而没有xml文件,将对应的xml文件放到这个文件夹下运行就不会出现下面的错误。说明出现这个错误的原因是maven编译时没有将xml文件放进去。

问题2:resources文件夹中的配置文件都编译不到classes中去了。

问题1解决方法:

在pom.xml中添加如下代码:

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

同理,问题2解决方法:

<build>
...
<resources>
<!-- 不编译resources下的配置文件 -->
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
...
</build>

  如果上述方法还出现资源文件编译不到classes文件的问题的情况,采用如下方法:

  因为xml等都属于resources文件,所以将xml文件按照包结构挪到resources文件夹下即可。

文章引自:http://www.cnblogs.com/wbb2109/p/3999247.html