使用AntBuilder在Groovy中压缩文件/目录

Ste*_*eve 2 ant groovy antbuilder

我正在尝试使用AntBuilder在Groovy中压缩文件和目录。我有以下代码:

def ant = new AntBuilder()
ant.zip(basedir: "./Testing", destfile:"${file}.zip",includes:file.name)
Run Code Online (Sandbox Code Playgroud)

这将压缩文件“ blah.txt”,而不压缩文件“ New Text Document.txt”。我认为问题是空间。我尝试了以下方法:

ant.zip(basedir: "./Testing", destfile:"${file}.zip",includes:"${file.name}")
ant.zip(basedir: "./Testing", destfile:"${file}.zip",includes:"\"${file.name}\"")
Run Code Online (Sandbox Code Playgroud)

以上均未解决问题。我正在使用Ant,因为它将压缩目录,并且我在工作中无法访问org.apache.commons.io.compression。

tim*_*tes 6

如果您查看ant zip任务文档,则includes参数描述为:

以逗号或空格分隔的必须包含的文件模式列表

所以你是对的,就是用空格分隔符破坏了它...

您需要使用更长的路径才能使其正常工作:

new AntBuilder().zip( destFile: "${file}.zip" ) {
  fileset( dir: './Testing' ) {
    include( name:file.name )
  }
}
Run Code Online (Sandbox Code Playgroud)