[Maven] resource配制include与exclude的关系
1、*与**/*意义不同:
* 指resource路径下,并不包含resource子文件夹下的文件
**/* 指resource路径及其子路径下所有文件
2、include、exclude可以配置多个路径,但路径不要重复,也别包含
2.1 include说明:打包时只保留include标签下的文件
include 的<filtering>说明:
true:可以规定指定路径下的xml包括properties文件在编译期,将文件指定的${key}替换掉;
例如: XXX.xml中我们使用${jdbc.url}来代表数据库地址。
那么在Maven编译时,就会将${jdbc.url}替换成真正的地址。
false:不替换
2.2 exclude说明: exclude规定路径下的文件不被打包
exclude 的<filtering>说明
true: 不在exclude规定路径下,其他的文件由include决定
false: 不在exclude规定路径下,其他的文件不由include决定
2.3 include 、exclude二者可以配合使用,划定打包范围
基本结构:
<build>
<resources>
<resource>
<directory>src/main/resource</directory>
<includes>
<include>...</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
...
</resource>
</resources>
<build>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.txt</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
<include>**/*</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.yml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/*.yml</exclude>
</excludes>
</resource>
</resources>
</build>