Ответ 1
Это всегда работает для меня:
<fileSets>
<fileSet>
<directory>.</directory>
<outputDirectory>logs</outputDirectory>
<excludes>
<exclude>*/**</exclude>
</excludes>
</fileSet>
</fileSets>
В чем должно быть распространенное событие, мне нужно включить пустой каталог в сборку. В моем случае это 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>
Это всегда работает для меня:
<fileSets>
<fileSet>
<directory>.</directory>
<outputDirectory>logs</outputDirectory>
<excludes>
<exclude>*/**</exclude>
</excludes>
</fileSet>
</fileSets>
Предоставлено этот ответ SO > и с некоторыми пробными версиями и ошибками, следующий, кажется, работает для меня...
<fileSet>
<directory>src/main/assembly</directory>
<outputDirectory>/logs</outputDirectory>
<excludes>
<exclude>*</exclude>
</excludes>
</fileSet>
Кажется, что ключ должен гарантировать, что тег <directory>
указывает действительную/существующую папку, у которой нет подпапок.
<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>
В этом случае, несмотря на то, что в папке "Журналы" есть некоторый контент, он не будет включен в сборку двоичного файла в каталоге "Пита".