我正在尝试使用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>
答案 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文件。