在进行maven组装时仅过滤某些扩展

时间:2017-11-24 20:59:50

标签: java maven maven-assembly-plugin

我正在使用一些混合资源类型运行maven程序集;我有一个如下目录结构:

project_root/
 |- resources/
     |- scripts/
     |- images/
     |- something/
     |- something_else/

问题是我的图像资源也嵌入在某些目录中,而不仅仅是 images 目录;使用以下程序集定义:

<assembly>
    <fileSets>
        <fileSet>
            <directory>${project.basedir}</directory>
            <outputDirectory>/</outputDirectory>
            <filtered>true</filtered>

            <includes>
                <include>resources/**</include>
            </includes>
        </fileSet>
    </fileSets>
</assembly>

这里的问题是在过滤任何.png文件时构建失败:

  

[错误]无法执行目标org.apache.maven.plugins:maven-assembly-plugin:2.4.1:单个(默认)项目module_web:无法创建程序集:错误过滤文件'/ data / projects / project / module /./ resources / something / avatar.png':标记无效 - &gt; [帮助1]

如何排除某些文件扩展名在maven程序集中被过滤?

1 个答案:

答案 0 :(得分:0)

您可以在exclude标记中使用正则表达式。像<exclude>%regex[(?!.*src/).*target.*]</exclude>这样的东西。请参阅https://maven.apache.org/plugins/maven-assembly-plugin/advanced-descriptor-topics.html

或者使用这样的通配符:<exclude>*.png</exclude>