2

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

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

这会压缩文件“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}\"")

以上都没有解决问题。我使用 Ant 是因为它会压缩目录,而且我在工作中无权访问 org.apache.commons.io.compression。

4

1 回答 1

6

如果您查看ant zip task 的文档,包含参数描述为:

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

所以你是对的,它是打破它的空间分隔符......

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

new AntBuilder().zip( destFile: "${file}.zip" ) {
  fileset( dir: './Testing' ) {
    include( name:file.name )
  }
}
于 2013-01-09T10:00:59.930 回答