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.csdn.net/bluishglc/article/details/6640889