maven 部署xml文件丢失

  最近尝试用maven-war-plugin插件打war包,但工程部署到服务器时,发现运行到dao层时总是报错(我们公司dao层使用mybatis框架管理)。

  几经周折最后发现是打war包时 mybatis mapper的配置文件maven没有打进去。了解了下maven的生命周期。

生命周期阶段 目标
process-resources resources:resources
compile compiler:compile
process-test-resources resources:testResources
test-compile compiler:testCompile
test surefire:test
package war:war
install install:install
deploy deploy:deploy

 

  1. 执行process-resources,classes文件夹下只包含src/main/resources下的文件
  2. 执行compile,classes文件夹下包含src/main/resources下的文件与src/main/java下的*.class文件

  也就是说默认情况下,maven仅仅只会把src/main/resources下的所有配置文件以及src/main/java下的所有class文件打包或发布到 target\classes下面,而我的 mybatis mapper的配置文件都是放置在src/main/java的子目录下,所以打出来的war包当然会有问题。

  好吧,问题原因都找到了,接下来就是怎样解决了,其实解决也很简单只要在pom.xml文件中添加如下配置即可:

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

  maven update 下重新打war包,maven就会将src/main/java下的xml文件随同java编译后的class文件一同copy到相应的class目录,OK问题解决,继续撸码。

  

posted on 2015-11-17 14:37  ljx407  阅读(764)  评论(0编辑  收藏  举报

导航