ошибка «повторяющаяся запись» при экспорте проекта Java в JAR с Eclipse - PullRequest
26 голосов
/ 07 декабря 2010

Я пытаюсь экспортировать проект Java с Eclipse 3.6.1 в работающий Jar.Раньше это работало правильно, но сегодня не получалось, после того как я добавил несколько JAR-файлов в путь к классам.

Ошибка:

duplicate entry: some/class.class

Интересно, что в почти любом классе есть дублирующая записьмой buildpath.Хотя я ничего не изменил.Добавленные мною Jars не содержат дублирующихся классов.

Вопрос: Это какая-то ошибка в Eclipse?Я вижу что-то очевидное?Кто-нибудь есть идеи, что может вызвать эту ошибку?

Cheers

Ответы [ 6 ]

11 голосов
/ 07 декабря 2010

Вы можете попробовать изменить строку

<jar destfile="/Volumes/resi/talosBase.jar" filesetmanifest="mergewithoutmain">

в вашем файле сборки должно быть

<jar destfile="/Volumes/resi/talosBase.jar" filesetmanifest="mergewithoutmain" duplicate="preserve">

Это заставит муравья сохранить первую запись любого дубликата и игнорировать остальные. Поведение по умолчанию - «добавить», так что вы можете получить несколько файлов с одинаковым полным именем. Другая допустимая запись для этого параметра - «fail», но я не думаю, что это поможет вам здесь.


OLD-ответ

Удалите последний созданный исполняемый jar-файл вручную или измените созданный ant-скрипт, прежде чем создавать новый.

1 голос
/ 25 июля 2016

в моем случае очистка проекта ничего не меняет, поэтому я использую обходной путь:

  1. Генерирование сценария сборки путем активации путем сохранения сценария ANT Генерация сценария муравья
  2. выполнить скрипт ant вручную или в eclipse (лучше) выполнение сценария по eclipse

и я меняю свой скрипт сборки муравья, добавив опцию, как указано в этом сообщении duplicate = "preserve" (чтобы сохранить первую версию в дублированном файле)

надеюсь, что это поможет

1 голос
/ 18 января 2013

Очистка проекта вам поможет.

1 голос
/ 07 декабря 2010

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

0 голосов
/ 12 июля 2016

У меня тоже была такая же проблема, но затем я немного изменил настройки сборки в Eclipse, как указано ниже.Для меня проблема с дубликатом записи, он просто копирует все необходимые файлы в подкаталог.

0 голосов
/ 12 сентября 2013

Попробуйте удалить банки и добавить их еще раз .., это исправило ошибку для меня ..

...