плагин банки знатока включает по сравнению с, исключает

У меня есть существующий файл англичанина, который включает сменный банкой знатоком раздел. Это работает за целью тестовой банки и в настоящее время исключает несколько каталогов:

<excludes>
     <exclude>...</exclude>
     <exclude>...</exclude>
     <exclude>somedir/**</exclude>
 </excludes>

Я должен включать файл в somedir каталог, но не учесть остальную часть файлов в somedir каталоге. Я считал, что включает, имеют приоритет, исключает так, я добавил что-то как следующее (было, не включает раздел прежде):

<includes>
    <include>somedir/somefile.xml</include>
</includes>

Это заканчивает тем, что создало файл банки для теста только с несколькими файлами в нем (просто материал в META-INF). Файл, который я включал, не находится в банке также. То, что я ожидал бы, является банкой, которая идентична банке, которая была создана, прежде чем мой включает изменение с одним дополнительным файлом.

Что я пропускаю здесь?

8
задан Chris Williams 15 March 2010 в 18:45
поделиться

1 ответ

Во-первых, если вы не укажете ни один включает , тогда плагин maven jar будет использовать ** / ** в качестве шаблона по умолчанию (см. oampjAbstractJarMojo ) т.е. он будет включать все. Если вы переопределите этот шаблон по умолчанию, плагин, очевидно, будет включать только то, что вы ему скажете.

Во-вторых, сканирование каталогов выполняется в конце ocpuDirectoryScanner , и это то, что написано в документации класса:

 * The idea is simple. A given directory is recursively scanned for all files
 * and directories. Each file/directory is matched against a set of selectors,
 * including special support for matching against filenames with include and
 * and exclude patterns. Only files/directories which match at least one
 * pattern of the include pattern list or other file selector, and don't match
 * any pattern of the exclude pattern list or fail to match against a required
 * selector will be placed in the list of files/directories found.

Итак, с вашим текущим набором включает и исключает шаблоны, только ОДИН файл будет соответствовать шаблону включения, но также совпадет с шаблоном исключения и, таким образом, не будет выбран, и вы получите почти пустой архив (только с манифестом по умолчанию см. oampjAbstractJarMojo # createArchive () ).

Я не могу дать вам точное решение, но вам явно нужно переосмыслить способ включения / исключения файлов (например, добавить больше включает шаблонов, удалить somedir / ** , или использование включает только , или использование исключает только ).

11
ответ дан 5 December 2019 в 15:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: