maven 部署xml文件丟失

  最近嘗試用maven-war-plugin插件打war包,但工程部署到服務器時,發現運行到dao層時老是報錯(咱們公司dao層使用mybatis框架管理)。html

  幾經周折最後發現是打war包時 mybatis mapper的配置文件maven沒有打進去。瞭解了下maven的生命週期。java

生命週期階段 目標
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文件中添加以下配置便可:mybatis

	<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問題解決,繼續擼碼。app

相關文章
相關標籤/搜索