У меня есть задача ANT, которая использует задачу jar для обновления нескольких файлов внутри ранее построенной войны. [Файлы обрабатываются между компиляцией WAR и доставкой.] Как я могу получить ANT для обновления всех файлов, которые я указал для обновления? Существует атрибут для jar update = "[...]"
, который позволит вам либо принудительно создать новое создание файла Jar, либо (добавить новые файлы / "обновить существующие, если это будет сочтено необходимым").
Пример:
- Классы Java скомпилированы
- Баночки созданы
- .war создан
- Сценарий запускается для изменения банок
- .war необходимо обновить банки, которые были изменены [банки являются подмножеством всех файлов в войне]
Проблема, с которой я сталкиваюсь, заключается в том, что банки, которые инструктируются на обновление, не обновляются на последнем этапе. В журнале утверждается, что только что обработанные банки «устарели». Есть ли способ заставить обновление произойти? Если я переключу "jar [...] update"
обратно на false (что по умолчанию), правильные файлы Jar будут помещены туда, а остальные файлы в войне - нет.
Примечание Я понимаю, что это можно было бы переместить для создания WAR после того, как все будет сделано. Но это не вариант для меня.
Задание муравья:
<target name="(the 'Rewaring task')" depends="step-3">
<echo>Adding modifed jars to war</echo>
<jar destfile="${output.war.dir}/existing.war" update="true">
<zipfileset dir="${output.jar.dir}/modded-jars" prefix="folder" />
</jar>
</target>
Точнее говоря, проблема, с которой я столкнулся, связана с поведением "update".