我正用蚂蚁把我的头撞在墙上......
我的目标如下:
<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>
这是有趣的事情,代码中的映射器没有被处理。我甚至可以将可执行文件的名称更改为某个非现有应用程序,它不会抱怨,即它会跳过应用程序。如果我删除映射器和目标文件,至少我收到一些错误消息。如果我只使用源文件尝试另一个进程,它就会运行。我真的把它缩小到映射器,它似乎只在它们已经改变时选择文件(?!),即如果我编辑它们并保存它们,它可以工作......任何想法如何强制映射器采取任何文件,甚至非修改(无论那意味着)文件?
答案 0 :(得分:2)
听起来您想要忽略使用<targetfile>
时获得的时间戳检查。
您可以使用<apply>
task的force="true"
参数执行此操作。 (它位于参数列表的底部,请注意此选项在Ant版本1.6.3中是新的。)
<apply executable="java" force="true">
...