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两个文件外的其他文件也是资源文件,但是它们不会被过滤。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容