正则表达式不工作Maven文件集

时间:2016-05-24 15:03:36

标签: maven maven-assembly-plugin

我正在尝试使用maven-assembly-plugin中的正则表达式,如下所示。 名称以ABC502开头的文件。我试图只复制带有3或4后缀的rpms。下面一个不起作用。 rpm名称在下面给出

  

ABC5023-buildnumber.rpm

     

ABC5024-buildnumber.rpm

     

ABC5025-buildnumber.rpm

     

ABC5026-buildnumber.rpm

<fileSet>
    <directory>${project.build.directory}/tar_content/stackcontents/</directory>
    <outputDirectory>scripts/data/rpms/</outputDirectory>
    <includes>
        <include>%regex[ABC502(3|4)]-*.rpm</include>
    </includes>
    <fileMode>0755</fileMode>
    <directoryMode>0755</directoryMode>
</fileSet>

1 个答案:

答案 0 :(得分:4)

当您使用a regular expression包含或排除具有%regex[...]语法的文件时,所有表达式都应由正则表达式组成。当用于匹配文件时,不能将正则表达式部分与正常部分混合。

因此,您需要使用

<fileSet>
    <directory>${project.build.directory}/tar_content/stackcontents/</directory>
    <outputDirectory>scripts/data/rpms/</outputDirectory>
    <includes>
        <include>%regex[ABC502(3|4)-.*?\.rpm]</include>
    </includes>
    <fileMode>0755</fileMode>
    <directoryMode>0755</directoryMode>
</fileSet>

这将包括以ABC5023或ABC5024开头的所有RPM文件。