Регулярное выражение не работает с набором файлов Maven

Я пытаюсь использовать регулярное выражение в maven-assembly-plugin, которое показано ниже. Есть файлы с именами, начинающимися с ABC502. Я пытаюсь скопировать только обороты с суффиксом 3 или 4. Нижний не работает. имена rpm приведены ниже

ABC5023-номер_сборки.rpm

ABC5024-номер_сборки.rpm

ABC5025-номер_сборки.rpm

ABC5026-номер_сборки.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>

person Shriram    schedule 24.05.2016    source источник
comment
Можете ли вы показать свой полный дескриптор сборки? Кроме того, насколько я знаю, в дескрипторе нет поддержки регулярных выражений? (Или вы можете дать ссылку на ссылку на это?)...   -  person khmarbaise    schedule 24.05.2016
comment
@khmarbaise Действительно возможно использовать регулярное выражение maven.apache.org/plugins/maven-assembly-plugin/.   -  person Tunaki    schedule 24.05.2016


Ответы (1)


Когда вы используете регулярное выражение для включить или исключить файлы с синтаксисом %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>

Это будет включать все файлы RPM, начиная с ABC5023 или ABC5024.

person Tunaki    schedule 24.05.2016