Maven-assembly-plugin:自定义描述符以排除文件夹

时间:2015-02-25 13:28:54

标签: maven maven-3 maven-plugin maven-assembly-plugin

我有以下目录结构:

MyProject/
   - temp/
     - cat_A/
         - tmp/
         - file_A
     - cat_B/
         - tmp/
         - file_B

我正在使用maven-assembly-plugin。我想创建一个tar.gz文件,其内容如下:

output/
  - cat_A/
    - file_A
  - cat_B/
    - file_B

我尝试制作如下自定义描述符:

<assembly …>
   <id>my-result</id>
  <formats>
    <format>tar.gz</format>
  </formats>
  <fileSets>
    <fileSet>
      <directory>${project.baseDir}/temp</directory>
      <outputDirectory>output</outputDirectory>

      <!-- tried to exclude tmp/ folder-->

        <excludes>
            <exclude>${project.baseDir}/temp/cat_A/tmp</exclude>
            <exclude>${project.baseDir}/temp/cat_B/tmp</exclude>
        </excludes>

    </fileSet>
  </fileSets>
</assembly>

但最终输出仍包含tmp /文件夹。

如何排除tmp/文件夹并获得我想要的结果?

1 个答案:

答案 0 :(得分:0)

因为它是一个目录,您必须将排除更改为:

    <excludes>
        <exclude>/cat_A/tmp/**</exclude>
        <exclude>/cat_B/tmp/**</exclude>
    </excludes>

更新:没有${project.baseDir}/temp,因为它与您的目录相关

Thisthat提供了更多信息。