Подтвердить что ты не робот

Как включить пустой каталог в сборку maven?

В чем должно быть распространенное событие, мне нужно включить пустой каталог в сборку. В моем случае это logs/.

Я пробовал разные варианты дескриптора сборки, например:

<fileSet>
  <directory>${basedir}/target</directory>
  <includes>
    <include>doesntexist</include>
  </includes>
  <outputDirectory>/logs</outputDirectory>
  <fileMode>0644</fileMode>
</fileSet>

и каталог просто обрезается.

Я тоже пытался исключить, но это все еще включало массу вещей:

<fileSet>
  <directory>${basedir}/target</directory>
  <excludes>
    <exclude>*</exclude>
  </excludes>
  <outputDirectory>/logs</outputDirectory>
  <fileMode>0644</fileMode>
</fileSet>
4b9b3361

Ответ 1

Это всегда работает для меня:

<fileSets>
  <fileSet>
    <directory>.</directory>
    <outputDirectory>logs</outputDirectory>
    <excludes>
      <exclude>*/**</exclude>
    </excludes>
  </fileSet>
</fileSets>

Ответ 2

Предоставлено этот ответ SO > и с некоторыми пробными версиями и ошибками, следующий, кажется, работает для меня...

<fileSet>
  <directory>src/main/assembly</directory>
  <outputDirectory>/logs</outputDirectory>
  <excludes>
    <exclude>*</exclude>
  </excludes>
</fileSet>

Кажется, что ключ должен гарантировать, что тег <directory> указывает действительную/существующую папку, у которой нет подпапок.

Ответ 3

<fileSets>
    <fileSet>
        <directory>./EMPTY_DIRECTORY_NAME</directory>
        <outputDirectory>/REQUIRED_DIRECTORY_NAME in Assembly </outputDirectory>
        <excludes>
            <exclude>*/**</exclude>
        </excludes>
    </fileSet>
</fileSets>

например.

<fileSets>
    <fileSet>
        <directory>./Logs</directory>
        <outputDirectory>/Feed</outputDirectory>
        <excludes>
          <exclude>*/**</exclude>
        </excludes>
    </fileSet>
</fileSets>

В этом случае, несмотря на то, что в папке "Журналы" есть некоторый контент, он не будет включен в сборку двоичного файла в каталоге "Пита".