我在开发环境中使用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正在查看时间戳,以查看我上次更新文件的时间。如果匹配相同的分钟,则不会更新。
如何每次强制复制文件?
由于
答案 0 :(得分:3)
您可以使用overwrite="true"
强制Ant始终覆盖文件。但是看看the manual,我还发现了关于granularity
属性的这个有趣的消息:
在决定文件之前,给出的毫秒数是过时的。这是必需的,因为并非每个文件系统都支持将上次修改时间跟踪到毫秒级别。在DOS系统上默认为1秒或2秒。如果源文件和目标文件位于时钟不同步的不同计算机上,这也很有用。 自Ant 1.6.2。
您可以尝试使用此功能来查看它是否有帮助。