0

我正在尝试使用以下命令运行应用任务:

  jpegtran.exe -copy none -optimize -perfect ./images/file.jpg ./images/file.jpg

我想将它递归地应用于所有图像。我尝试了以下 ant 代码,但 jpegtran 说参数无效。

<target name="optimize.images.jpg">
    <apply executable="jpegtran.exe" dir="${SRC_DIR}/public/assets/" parallel="false" verbose="true" resolveexecutable="true" force="true" vmlauncher="true">
        <arg value="-copy none"/>
        <arg value="-optimize"/>
        <arg value="-perfect"/>
        <srcfile/>
        <targetfile/>
        <fileset dir="${SRC_DIR}/public/assets/images" casesensitive="yes">
            <include name="**/*.jpg"/>
        </fileset>
        <mapper type="identity"/>
    </apply>
</target>

我的 ant 代码有什么问题?

4

1 回答 1

-1

需要更改的一项<arg>-copy none. 由于参数中有空格,因此请使用line属性而不是value. 请参阅 Apache Ant命令行参数

<target name="optimize.images.jpg">
  <apply executable="jpegtran.exe" dir="${SRC_DIR}/public/assets/" 
    parallel="false" verbose="true" resolveexecutable="true" force="true" 
    vmlauncher="true">

    <arg line="-copy none"/>
    <arg value="-optimize"/>
    <arg value="-perfect"/>
    <srcfile/>
    <targetfile/>
    <fileset dir="${SRC_DIR}/public/assets/images" casesensitive="yes">
      <include name="**/*.jpg"/>
    </fileset>
    <mapper type="identity"/>
  </apply>
</target>
于 2012-07-07T00:12:29.607 回答