正则表达式无法使用Maven文件集
我正在尝试在正则表达式无法使用Maven文件集,maven,maven-assembly-plugin,Maven,Maven Assembly Plugin,我正在尝试在maven汇编插件中使用正则表达式,如下所示。 有些文件的名称以ABC502开头。我试图只复制后缀为3或4的RPM。下面的一个不起作用。 rpm名称如下所示 ABC5023-buildnumber.rpm ABC5024-buildnumber.rpm ABC5025-buildnumber.rpm ABC5026-buildnumber.rpm ${project.build.directory}/tar\u content/stackcontents/ 脚本/数据/RPM/ %
maven汇编插件中使用正则表达式,如下所示。
有些文件的名称以ABC502开头。我试图只复制后缀为3或4的RPM。下面的一个不起作用。
rpm名称如下所示
ABC5023-buildnumber.rpm
ABC5024-buildnumber.rpm
ABC5025-buildnumber.rpm
ABC5026-buildnumber.rpm
${project.build.directory}/tar\u content/stackcontents/
脚本/数据/RPM/
%正则表达式[ABC502(3 | 4)]-*.rpm
0755
0755
使用%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>
${project.build.directory}/tar\u content/stackcontents/
脚本/数据/RPM/
%正则表达式[ABC502(3 | 4).\.rpm]
0755
0755
这将包括所有以ABC5023或ABC5024开头的RPM文件。能否显示完整的装配描述符?除此之外,就我所知,描述符中没有对regex的支持?(或者你能提供链接以供参考吗?)@khmarbaise确实可以使用正则表达式。
<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>