Как подавить предупреждения о двойных банках для дубликатов - PullRequest
2 голосов
/ 01 октября 2009

Я не хочу, чтобы задача ant jar уведомляла меня каждый раз, когда файл пропускается, поскольку файл уже добавлен. Я получаю стопки этого:

 [jar] xml/dir1/dir2.dtd already added, skipping

Есть ли способ отключить это предупреждение?

Ответы [ 2 ]

2 голосов
/ 15 января 2010

Это более старый вопрос, но есть один очевидный способ исключить предупреждение о дубликатах, не включая дубликаты файлов. Вы можете сделать это одним из двух способов:

  1. Исключить дубликаты файлов каким-либо образом или
  2. Скопируйте файлы в промежуточную область, чтобы задача cp работала с дубликатами, а не с задачей jar.

Итак, вместо того, чтобы делать:

<jar destfile="${dist}/lib/app.jar">
  <fileset dir="a" include="xml/data/*.{xml,dtd}"/>
  <fileset dir="b" include="xml/data/*.{xml,dtd}"/>
  <fileset dir="c" include="xml/data/*.{xml,dtd}"/>
</jar>

сделать одно из:

<jar destfile="${dist}/lib/app.jar">
  <fileset dir="a" include="xml/data/*.{xml,dtd}"/>
  <fileset dir="b" include="xml/data/*.xml"/>
  <fileset dir="c" include="xml/data/*.xml"/>
</jar>

или

<copy todir="tmpdir">
  <fileset dir="a" include="xml/data/*.{xml,dtd}"/>
  <fileset dir="b" include="xml/data/*.{xml,dtd}"/>
  <fileset dir="c" include="xml/data/*.{xml,dtd}"/>
</copy>
<jar destfile="${dist}/lib/app.jar">
  <fileset dir="tmpdir" include="xml/data/*.{xml,dtd}"/>
</jar>
<delete dir="tmpdir"/>

Редактировать : Основываясь на комментарии к этому ответу, существует третий вариант, хотя это довольно трудоемкая работа ... Вы всегда можете получить исходный код задачи jar и изменить его чтобы он не распечатывал предупреждения. Вы можете сохранить это как локальную модификацию вашего дерева, переместить его в другой пакет и сохранить его самостоятельно, или попытаться вернуть исправление обратно в исходное состояние.

1 голос
/ 02 октября 2009

Я не знаю ни одного параметра в задаче jar для подавления этих сообщений, если только вы не запускаете всю сборку с ключом -quiet , в этом случае вы не можете увидеть другую информацию, которую вы хотите.

В общем, если у вас много дубликатов файлов, полезно предупредить их о них, поскольку к тому, что вы ожидаете, может быть добавлен другой. Это возможно указывает на то, что предыдущая цель сборки не выполнила свою работу так хорошо, как могла бы, хотя, очевидно, без более подробной информации сказать невозможно.

Из интереса, почему у вас есть дубликаты файлов?

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