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>

私のアリコードのどこが悪いのでしょうか?

4

1 に答える 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 に答える