Ant:如何使用具有相同源文件和目标文件的应用任务

问题描述 投票:0回答:1

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

  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 代码可能有什么问题?

ant jpegtran
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>
© www.soinside.com 2019 - 2024. All rights reserved.