1

我在我的开发环境中使用 Eclipse 和 Ant。

我遇到了一个问题

这是我的 build.xml 的一部分

<target name="deploy" depends="dist" description="deploy jar files">
    <!-- Deploy jar files on local Tomcat -->
    <echo>Deploying in ${tomcat_home}/webapps</echo>

  <echo>Copying JSP files from ${build_dir} to ${tomcat_home}/${ant.project.name}/$</echo>
  <copy todir="${tomcat_home}/webapps/">
   <fileset dir="${resources_dir}/" includes="**/*.jsp"/>
  </copy> 

我更改了一个文件,然后运行一个 ant 构建 - 所有文件和 jar 都被复制到我服务器上的正确位置。

但我遇到的问题是,如果我快速进行另一项更改然后再次运行 Ant,我的文件不会被复制。显然,Any 正在查看时间戳以查看我上次更新文件的时间。如果匹配同一分钟,则不会更新。

如何每次都强制复制文件?

谢谢

4

1 回答 1

3

您可以使用overwrite="true"来强制 Ant 始终覆盖文件。但是查看手册granularity,我还发现了这个关于属性的有趣花絮:

在确定文件过期之前给予的毫秒数。这是必需的,因为并非每个文件系统都支持将上次修改时间跟踪到毫秒级别。默认值为 1 秒,在 DOS 系统上为 2 秒。如果源文件和目标文件位于时钟不同步的不同机器上,这也很有用。从蚂蚁 1.6.2 开始。

您可以尝试对此进行试验,看看是否有帮助。

于 2010-07-30T23:07:43.013 回答