应用任务不使用mapper

时间:2014-10-07 13:53:06

标签: ant

我正用蚂蚁把我的头撞在墙上......

我的目标如下:

<target name="js.minify">
    <apply executable="java">
        <arg line="-jar"></arg>
        <arg path="path_to_file/yuicompressor-2.4.7.jar"></arg>
        <arg line="-v"></arg>
        <srcfile></srcfile>
        <arg line="-o"></arg>
        <targetfile></targetfile>

        <globmapper from="*.js" to="*.min.js" casesensitive="no"/>
        <fileset id="jsFiles" dir="${artifactsdir}/js">
        </fileset>
    </apply>
</target>

这是有趣的事情,代码中的映射器没有被处理。我甚至可以将可执行文件的名称更改为某个非现有应用程序,它不会抱怨,即它会跳过应用程序。如果我删除映射器和目标文件,至少我收到一些错误消息。如果我只使用源文件尝试另一个进程,它就会运行。我真的把它缩小到映射器,它似乎只在它们已经改变时选择文件(?!),即如果我编辑它们并保存它们,它可以工作......任何想法如何强制映射器采取任何文件,甚至非修改(无论那意味着)文件?

1 个答案:

答案 0 :(得分:2)

听起来您想要忽略使用<targetfile>时获得的时间戳检查。 您可以使用<apply> taskforce="true"参数执行此操作。 (它位于参数列表的底部,请注意此选项在Ant版本1.6.3中是新的。)

<apply executable="java" force="true">
    ...