Maven resource 中的<include>与<exclude>用于包含或排除某一文件目录下的文件是否是工程资源的。
若<include>与<exclude>划定的范围存在冲突,则以<exclude>配置为准。
多数情况下,使用<include>和<exclude>是为了配合<filtering>实现替换文件中的变量的需要。
例如:
在某一个工程中,src/main/resources目录下都是工程的资源文件,并不需要<include>和<exclude>再进行划定。
但如果需要对且仅对其中的jdbc.properties和mail.properties两个文件进行过滤,则需要借助<include>和<exclude>进行如下的配置:
<resources>
<!-- Filter jdbc.properties & mail.properties.-->
<!-- NOTE: We don't filter applicationContext-*.xml -->
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>jdbc.properties</include>
<include>mail.properties</include>
</includes>
</resource>
<!-- Include other files as resources files. -->
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>jdbc.properties</exclude>
<exclude>mail.properties</exclude>
</excludes>
</resource>
</resources>
其中第一段<resource>配置声明:在src/main/resources目录下,仅jdbc.properties和mail.properties两个文件是资源文件,然后,这两个文件需要被过滤。而第二段<resource>配置声明:同样在src/main/resources目录下,除jdbc.properties和mail.properties两个文件外的其他文件也是资源文件,但是它们不会被过滤。
转载自 http://blog.youkuaiyun.com/bluishglc/article/details/6640889