2016-07-12 13 views
0

以下は私のantスクリプトです。実行できません 'Ant exec executable = "zip"'

<exec executable="zip" dir="/usr/local/clo/ven/image/manual_bundle/testzip/"> 
    <arg value="-y"/> 
    <arg value="-r"/> 
    <arg value="${file.path}"/> 
    <arg value="*"/> 
    </exec> 

ただし、以下のエラーが発生します。


zip-image_binary: 
    [exec]  zip warning: name not matched: * 
    [exec] 
    [exec] zip error: Nothing to do! (try: zip -y -r /usr/local/clo/ven/image/a.zip . -i *) 
    [exec] Result: 12 

私の目的は、は/ usr/local/CLO/VEN /画像の下にあるすべてのファイルとディレクトリを圧縮することです/ manual_bundle/testzip/

+0

ずっと簡単であるようなものは、私は[こちら](HTTPSを見て、アリに組み込ま 'zip'タスクがあると思います。 org/manual/Tasks/zip.html)おそらくこれはうまくいくでしょう。あなたのZIPコールが空のディレクトリで実行されるように見えるので、何もすることはできません。 –

答えて

2

あなたが実行すると、コマンドを実行すると、シェルは*グロブパターンを展開します。 zip実行ファイルは、ファイルのリスト(通常はシェルによって提供される)のリスト以外のパターンはまったく想定していません。組み込みのzipタスクを使用しない場合は、execではなくapplyを使用してその動作をエミュレートできます。 //ant.apache:この

<apply executable="zip" parallel="true" relative="true" 
     dir="/usr/local/clo/ven/image/manual_bundle/testzip/"> 
    <fileset dir="/usr/local/clo/ven/image/manual_bundle/testzip/"/> 
    <mergemapper to="${file.path}"/> 
    <arg value="-y"/> 
    <arg value="-r"/> 
    <targetfile/> 
</apply> 

同等zipタスクが

<zip destfile="${file.path}"> 
    <fileset dir="/usr/local/clo/ven/image/manual_bundle/testzip/"/> 
</zip>