【问题标题】:How do I include an empty directory in a maven assembly?如何在 Maven 程序集中包含一个空目录?
【发布时间】:2011-10-26 21:30:59
【问题描述】:

在一定常见的情况下,我需要在程序集中包含一个空目录。就我而言,它是 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>

【问题讨论】:

    标签: maven maven-assembly-plugin


    【解决方案1】:

    这对我总是有效的:

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

    【讨论】:

    【解决方案2】:

    礼貌,this SO answer,经过反复试验,以下似乎对我有用...

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

    关键似乎是确保&lt;directory&gt;标签指定一个有效/现有文件夹,没有任何子文件夹

    【讨论】:

    • 如果您的目录包含文件夹,您可以使用 &lt;exclude&gt;**/*&lt;/exclude&gt; 排除所有文件夹(以及所有文件)。
    • 这个解决方案对我不起作用。克里斯托弗工作得很好。
    【解决方案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>
    

    在这种情况下,即使 Logs 目录中有一些内容,它也不会包含在 Feed 目录中的组装二进制文件中。

    【讨论】:

      猜你喜欢
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-04
      • 2010-11-04
      • 2019-04-28
      • 2013-03-20
      • 2012-08-25
      相关资源
      最近更新 更多