我的分发文件如下所示。我想在我的项目根文件夹($ {basedir})下创建一个public
和logs
文件夹,并将它们打包成一个zip文件。现在,我的问题是public
和logs
文件夹下的所有文件(例如,1.log,2.log)都没有打包到zip文件中,但是所有目录在public
和logs
个文件夹下打包到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>
答案 0 :(得分:1)
您提供的正则表达式:
<exclude>**/*.*</exclude>
只会匹配目录中格式为X.Y的文件。也就是说,每个人都必须包含'。'并有一个扩展。据推测,子目录没有这种格式。因此,在每个部分添加另一行:
<exclude>**/*</exclude>
我认为会这样做。 Ant directory task documentation包含一些有用的示例。