转发的原文
在打包部署时,为了防止mybatis的mapper文件被过滤掉,在pom文件的build节点下加入了如下代码:
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
然后发布后就悲剧了,提示applicationContext-*文件找不到,报了FileNotFindExeception
Could not resolve bean definition resource pattern [classpath:spring/applicationContext-*…
原因:
maven默认扫描src/main/resources中的xml文件而不理会src/main/java中的xml文件,所以我们添加了resource节点,这样就会改变maven默认的扫描策略,造成src/main/resources下的配置文件打包丢失
解决方法:
再添加一个resource节点
<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>