如何在Apache中使用Ant来复制每个构建的文件

时间:2010-07-30 22:59:10

标签: java eclipse ant build.xml

我在开发环境中使用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 build - 所有文件和jar都被复制到我服务器上的正确位置。

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

如何每次强制复制文件?

由于

1 个答案:

答案 0 :(得分:3)

您可以使用overwrite="true"强制Ant始终覆盖文件。但是看看the manual,我还发现了关于granularity属性的这个有趣的消息:

  

在决定文件之前,给出的毫秒数是过时的。这是必需的,因为并非每个文件系统都支持将上次修改时间跟踪到毫秒级别。在DOS系统上默认为1秒或2秒。如果源文件和目标文件位于时钟不同步的不同计算机上,这也很有用。 自Ant 1.6.2。

您可以尝试使用此功能来查看它是否有帮助。