Maven的Resource元素中include和exclude的使用

在Maven的生命周期中有一步是对资源的处理,还记得吗?

image.png

中间红框就是maven-resources-plugin插件对项目主资源文件的处理。

maven-resources-plugin插件
它默认的行为只是将项目主资源文件复制到主代码编译输出目录中,将测试资源文件复制到测试代码编译输出目录中。
不过只要通过一些简单的POM配置,该插件就能够解析资源文件中的Maven属性,即开启资源过滤。

<resources>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
    </resource>
</resources> 

如果想仅仅对资源文件中的某几个文件进行资源过滤,或者将某几个文件排除资源过滤的话,并不能简单地使用 includeexclude ,而是需要配合着使用。

仅对 yml 文件进行资源过滤

<resources>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
        <includes>
            <include>**/**.yml</include>
        </includes>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>false</filtering>
        <excludes>
            <exclude>**/**.yml</exclude>
        </excludes>
    </resource>
</resources>

其中第一个 <resource> 配置表示,在src/main/resources目录下,只有yml文件是资源文件,并且进行资源过滤。
第二个<resource>配置表示,在src/main/resources目录下,除了yml文件外都是资源文件,但是不会被资源过滤。

fonts目录下的所有文件排除资源过滤

<resources>
    <resource>
        <directory>src/main/resources</directory>
        <excludes>
            <exclude>**/fonts/*.*</exclude>
        </excludes>
                <filtering>true</filtering>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
        <includes>
            <include>**/fonts/*.*</include>
        </includes>
                <filtering>false</filtering>
    </resource>
</resources>

或许将 filtering 标签挪动到 excludesincludes 后面,更能表达配置意图。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • jHipster - 微服务搭建 CC_简书[https://www.jianshu.com/u/be0d56c4...
    quanjj阅读 843评论 0 2
  • JSPXCMS开发架构介绍 V1 – 架构概述 基本概述 配置文件目录 /src/main/resources/...
    Java_Evan阅读 4,454评论 0 0
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,923评论 0 5
  • 转自:http://www.cnblogs.com/crazy-fox/archive/2012/02/09/23...
    晴天哥_王志阅读 2,278评论 2 27
  • 当你面临两个选择的时候,你要两个都选。在很多情况下,二选一的思维方式,是你前行和发展的阻碍。比如是继续学习获...
    火韧阅读 184评论 0 0