无法运行' Ant exec executable =" zip" '

时间:2016-07-12 03:02:27

标签: linux ant 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 / image / manual_bundle / testzip / 下的所有文件和目录     

1 个答案:

答案 0 :(得分:2)

使用shell运行命令时,shell会扩展* glob模式。 zip可执行文件除了文件列表(通常由shell提供)之外根本不需要任何模式。如果您不想使用内置zip任务,则可以使用apply而不是exec来模拟该行为。像这样的东西

<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>