我正在尝试使用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。
如果您查看ant zip任务的文档,包含参数描述为:
以逗号或空格分隔的必须包含的文件模式列表
所以你是对的,是空格分隔符把它分隔开了…
你需要使用更长的路由来让它工作:
new AntBuilder().zip( destFile: "${file}.zip" ) {
fileset( dir: './Testing' ) {
include( name:file.name )
}
}