如何仅在文件更改时执行Ant任务?

如何仅在文件更改时执行Ant任务?,ant,Ant,我一直在尝试使用以下代码,只有当文件被更改但似乎不起作用时,才能使任务工作。无论是否有更改,都会调用该任务 <target name ="widget-change" depends="configuration-for-widgets"> <fileset dir="${src-location}"> <include name="com.myApp.MainClasses.myClassOne.java"/>

我一直在尝试使用以下代码,只有当文件被更改但似乎不起作用时,才能使任务工作。无论是否有更改,都会调用该任务

<target name ="widget-change" depends="configuration-for-widgets">
    <fileset dir="${src-location}">         
        <include name="com.myApp.MainClasses.myClassOne.java"/>
        <include name="com.myApp.MainClasses.myClassTwo.java"/>
        <modified update="true"/>
    </fileset>          
    <antcall target="gwt-compile"/>         
</target>

您使用的ant版本是否低于1.8.0

在中,询问者通过使用
depend
选择器而不是modified来解决

在中,建议使用嵌套更新
param

您可以通过使用嵌套的

      <param name="update" value="false"/>

而不是更新属性


您使用的ant版本是否低于1.8.0

在中,询问者通过使用
depend
选择器而不是modified来解决

在中,建议使用嵌套更新
param

您可以通过使用嵌套的

      <param name="update" value="false"/>

而不是更新属性


我假设您的
gwt compile
目标是以
compile.set
@sudocode为条件的。是的,这就是计划。我必须删除compile.set,因为修改后的标记不支持它!我假设您的
gwt compile
目标是以
compile.set
@sudocode为条件的。是的,这就是计划。我必须删除compile.set,因为修改后的标记不支持它!谢谢你的回复,你的回答对我帮助很大。我现在已经修改了代码并添加了param。然而,我看到,当我评论标签和包含标签,只有这样的作品罚款!现在这有点奇怪了(我想实现的是,编译器应该只在文件更改时运行。我想缓存文件,并在文件更改时运行编译器。感谢您的回复,您的回答对我帮助很大。我现在修改了代码并向其添加了param。然而,我看到,当我注释标记并仅包含标记时,代码才起作用。)ine!这现在有点奇怪了。:(我想实现的是,编译器应该只在文件更改时运行。我想缓存文件,并在文件更改时运行编译器。