Как заставить Ant в Apache копировать файлы каждой сборки - PullRequest
1 голос
/ 31 июля 2010

Я использую 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 смотрит на отметку времени, чтобы увидеть, когда я последний раз обновлял файл. Если он соответствует той же минуте, он не обновляется.

Как заставить копировать файл каждый раз?

Спасибо

1 Ответ

3 голосов
/ 31 июля 2010

Вы можете использовать overwrite="true", чтобы заставить Ant всегда перезаписывать файлы.Но, взглянув на руководство , я также обнаружил интересную новость относительно атрибута granularity:

Количество оставшихся свободных миллисекунд до принятия решения, что файл устарел.Это необходимо, потому что не каждая файловая система поддерживает отслеживание времени последнего изменения до миллисекундного уровня.По умолчанию это 1 секунда или 2 секунды в системах DOS.Это также может быть полезно, если исходный и целевой файлы находятся на разных компьютерах с несинхронизированными часами. начиная с Ant 1.6.2.

Вы можете попробовать поэкспериментировать с этим, чтобы посмотреть, поможет ли это.

...