Копирование только несуществующих файлов в муравей - PullRequest
3 голосов
/ 30 ноября 2009

Я развертываю свой проект на веб-сервере, который будет развернут с помощью java Web Start. Однако Web Start использует дату изменения, чтобы определить, нужно ли снова загружать ресурсы (по умолчанию).

Мне нужен способ развертывания только тех (jar) файлов, которые еще не существуют. Это стало возможным благодаря наличию номеров версий сборки на всех моих банках, поэтому 2 банки с одинаковым именем имеют одинаковое содержимое .

Примечания:

  • Даты модификации jar всегда будут более новыми в сборке (именно поэтому я получаю эту проблему) из-за загрузки с svn или ivy
  • Есть способ сделать это, используя загрузочный сервлет Sun, больше файлов и т. Д., Но я ленив, мне это не нужно, и это (более простое) решение будет более надежным в долгосрочной перспективе

Ответы [ 4 ]

14 голосов
/ 30 ноября 2009

Если вы используете задачу копирования муравьев (вы явно не говорите, что это так), вы можете попробовать селектор present: http://ant.apache.org/manual/Types/selectors.html#presentselect.

<copy todir="target">
  <fileset dir="src">
    <present targetdir="target" present="srconly" />
  </fileset>
</copy>
2 голосов
/ 30 ноября 2009

Вы можете попытаться установить атрибут granularity очень, очень высокий, чтобы в основном отключить функцию «копировать файлы с тем же именем, если исходный файл новее, чем целевой».

0 голосов
/ 06 декабря 2009

Мы решили эту проблему с помощью maven и JavaFX и плагина WebStart , который сохраняет макет и версию maven в JNLP, а использование «неуникального» SNAPSHOT сохранит тот же файл (игнорируя метку времени).

Я знаю, что это Maven, так что это не хорошо для вас, но кто-то может попробовать?

0 голосов
/ 30 ноября 2009

У нас была похожая проблема, и я решил реализовать свою собственную задачу jar, чтобы сделать то, что мне нужно. Исходный код Ant - хорошее место для начала; если вам повезет, вы сможете просто создать подкласс для задания Ant. Это не так сложно, как может показаться, и гораздо проще, чем полдюжины обходных путей, которые я пробовал или рассматривал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...