关于Maven resource配制中include与exclude的关系

<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-infrastructure.xml, 
            let it go with spring's resource process mechanism. -->
        <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

posted @ 2017-10-09 15:33  图生  阅读(1721)  评论(0)    收藏  举报