How do I include an empty directory in a maven assembly?

Dave Stenglein picture Dave Stenglein · Oct 26, 2011 · Viewed 21.3k times · Source

In what must be a common occurence, I need to include an empty directory in an assembly. In my case it is logs/.

I've tried different variations in the assembly descriptor like:

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

and the directory just gets pruned.

I tried to exclude as well, but that still included lots of stuff:

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

Answer

Christopher picture Christopher · Jun 4, 2013

This always works for me:

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