通常狀況下,咱們用到的資源文件(各類xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包時,maven能把這些資源文件打包到相應的jar或者war裏。java
有時候,好比mybatis的mapper.xml文件,咱們習慣把它和Mapper.java放一塊兒,都在src/main/java下面,這樣利用maven打包時,就須要修改pom.xml文件,來把mapper.xml文件一塊兒打包進jar或者war裏了,不然,這些文件不會被打包的。(maven認爲src/main/java只是java的源代碼路徑)。網絡上有不少方法,我大概試了下,幾種方法均可以,能夠任選一種便可。
方法1,其中*/這樣的寫法,是爲了保證各級子目錄下的資源文件被打包。數據庫
xml代碼
<build>
<finalName>test</finalName>
<!--
這樣也能夠把全部的xml文件,打包到相應位置。
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>/*.properties</include>
<include>*/.xml</include>
<include>/*.tld</include>
</includes>
<filtering>false</filtering><--這裏是false,用true會報 數據庫鏈接 錯誤-->
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>/*.properties</include>
<include>*/.xml</include>
<include>/*.tld</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
方法2,利用build-helper-maven-plugin插件
<build>
...
</plugins>
...
<!--
此plugin能夠用
利用此plugin,把源代碼中的xml文件,
打包到相應位置,這裏主要是爲了打包Mybatis的mapper.xml文件
-->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>add-resource</id>
<phase>generate-resources</phase>
<goals>
<goal>add-resource</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>*/.xml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
...
</build>
方法3,利用maven-resources-plugin插件
<build>
...
</plugins>
...
<!--
此plugin能夠用
利用此plugin,把源代碼中的xml文件,打包到相應位置,
這裏主要是爲了打包Mybatis的mapper.xml文件
-->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>copy-xmls</id>
<phase>process-sources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/classes</outputDirectory>
<resources>
<resource>
<directory>${basedir}/src/main/java</directory>
<includes>
<include>*/.xml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
...
</build>網絡