maven-assembly-plugin如何过滤掉整个目录?

时间:2014-11-10 04:55:19

标签: maven maven-assembly-plugin

我的分发文件如下所示。我想在我的项目根文件夹($ {basedir})下创建一个publiclogs文件夹,并将它们打包成一个zip文件。现在,我的问题是publiclogs文件夹下的所有文件(例如,1.log,2.log)都没有打包到zip文件中,但是所有目录在publiclogs个文件夹下打包到zip文件中。

如何筛选出目录?我只想在我的zip文件中创建一个 pubic和logs文件夹。

   <fileSets>
        <fileSet>
            <directory>${basedir}\src\main\bin</directory>
            <outputDirectory>\bin</outputDirectory>
            <includes>
                <include>*.sh</include>
                <include>*.bat</include>
            </includes>
        </fileSet>
        <fileSet>
            <directory>${basedir}\logs</directory>
            <excludes>
                <exclude>**/*.*</exclude>
            </excludes>
            <outputDirectory>\logs</outputDirectory>
        </fileSet>
        <fileSet>
            <directory>${basedir}\public\</directory>
            <excludes>
                <exclude>**/*.*</exclude>
            </excludes>
            <outputDirectory>\public</outputDirectory>
        </fileSet>
    </fileSets>

1 个答案:

答案 0 :(得分:1)

您提供的正则表达式:

<exclude>**/*.*</exclude>

只会匹配目录中格式为X.Y的文件。也就是说,每个人都必须包含'。'并有一个扩展。据推测,子目录没有这种格式。因此,在每个部分添加另一行:

<exclude>**/*</exclude>

我认为会这样做。 Ant directory task documentation包含一些有用的示例。