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 はディレクトリを圧縮するため、Ant を使用しています。職場で org.apache.commons.io.compression にアクセスすることはできません。

4

1 に答える 1

6

ant zip taskのドキュメントを見ると、 includes パラメータは次のように説明されています。

含める必要があるファイルのパターンのコンマまたはスペースで区切られたリスト

そうです、それを壊しているのはスペース区切りです...

これを機能させるには、より長いルートを使用する必要があります。

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