Не удалось прочитать архив для требуемой библиотеки или он не является допустимым файлом ZIP

Это не работает.

Вы не можете ожидать, что объекты запроса будут распределены, а ответы будут собраны по кластеру другими узлами. Если вы это сделаете, то искра призывает к будущему никогда не закончится.

Если ваша карта () выполняет запросы синхронизации (http), то, пожалуйста, собирайте ответы в одном и том же вызове действий / преобразовании, а затем укажите результаты (ответы) для дальнейшей карты / уменьшить / другие вызовы.

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

29
задан Aniket Thakur 22 October 2013 в 18:57
поделиться

16 ответов

Это ошибка Eclipse. Я сталкивался с подобной проблемой несколько раз. закрытие и возобновление проекта работает когда-нибудь. если это не работает, попробуйте перезапустить Eclipse.

49
ответ дан rachit 22 October 2013 в 18:57
поделиться

Я занимался этой проблемой в течение нескольких дней, несмотря на поиск решения в сети. Сначала я переместил свой проект в Netbeans, и все работало нормально. Затем я вернулся к eclipse-> properties-> java compile-> Building и изменил опцию «Несопоставимый путь сборки» с ошибки на предупреждение, а затем произвел обновление maven, и это сработало.

0
ответ дан Andy Kofi 22 October 2013 в 18:57
поделиться

Я нигде не нашел дубликатов и попытался перезапустить затмение, пересобрать проект. Я получал ошибку только для одной библиотеки. Поэтому я просто попытался переименовать файл jar с ksoap2-android-assembly-2.5.8-jar-with-dependencies.jar на ksoap2-2.5.8.jar

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

0
ответ дан Jimit Patel 22 October 2013 в 18:57
поделиться

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

  1. Убедитесь, что банки не повреждены:

    jar tf myjar.jar

  2. Перезапустите затмение и обновите настройки проекта, щелкнув правой кнопкой мыши по проекту -> Maven -> Обновить проект

  3. . Мне выпал вариант навигации по папке рабочей области, а затем удалите файлы:

    .metadata/.plugins/org.eclipse.jdt.core/invalidArchivesCache .metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache

После этого перезапустите затмение и пересоберите проект.

1
ответ дан duderoot 22 October 2013 в 18:57
поделиться

В моем случае установка java была некорректной. Итак, я удалил Java и заново установил новую версию. Теперь это работает.

0
ответ дан ChandrasekarG 22 October 2013 в 18:57
поделиться

Для веб-приложения Java в проекте добавлен файл web.xml в качестве jar. В проводнике проекта попробуйте найти файл web.xml как значок jar и удалить из проекта. Ошибка уйдет !!

0
ответ дан YogiEHunt 22 October 2013 в 18:57
поделиться

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

 jar tf myjar.jar

должны перечислить содержимое внутри.

1
ответ дан samsamara 22 October 2013 в 18:57
поделиться

Для нас проблема заключалась в размере файла .jar. Я бы порекомендовал сделать следующий тест, чтобы увидеть, так ли это, или, по крайней мере, исключить его. Сначала посмотрите на другие jar-файлы в вашем проекте Eclipse и сравните их с проблемным jar-файлом. Это намного больше, чем другие? Если это так, попробуйте следующий обходной путь. Иначе, этот ответ, вероятно, не поможет вам. Перед запуском настройте Windows для обработки файлов .jar как файлов .zip с помощью следующей команды командной строки:

assoc .jar=CompressedFolder (см. https://superuser.com/questions/121540/can-you -configure-windows-to-open-jar-files-like-zip-files-Without-a-Third-Party-T )

Необязательно: Простой тест

Перед Попытка обойти это, вот тест, чтобы увидеть, действительно ли вас сбивает с толку размер файла JAR.

  1. Создайте большой .jar, полный случайных файлов .class, которых нет в вашем проблемном jar. Вы можете сделать это, сделав папку с файлами, сжав ее и переименовав расширение .zip в .jar. Windows может предупредить вас об изменении расширения. Проигнорируйте это. Убедитесь, что в папке достаточно файлов, чтобы они были немного больше, чем проблемный jar.
  2. Попробуйте импортировать эту искусственно созданную банку. Если произойдет сбой с той же ошибкой, возможно, проблема в размере.

Обходной путь

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

  1. Распакуйте файл .jar. Вы сможете легко это сделать в Windows
  2. Разделите папку, полученную на шаге 1, на более мелкие подпапки. Это может быть только две папки или больше, в зависимости от размера оригинала. Вы хотите, чтобы папки были меньше, чем некоторые из ваших существующих «хороших» банок, чтобы размер не был проблемой. При этом убедитесь, что структура пакета не повреждена.
  3. Заархивируйте все папки, созданные на шаге 2, и переименуйте .zip в .jar.
  4. Импортируйте все файлы .jar из шага 3 по отдельности.

Шаги могут быть немного неясными, так что вот пример. Представьте, что ваш файл jar называется mylib.jar. Вы распаковываете это в папку с именем mylib. Внутри, скажем, есть три подпапки с именами package1, package2 и package3. Создайте 3 папки с именами mylib1, mylib2 и mylib3 и поместите в package1, package2 и package3 соответственно. Затем заархивируйте их и переименуйте расширение в .jar. Затем вы импортируете mylib1.jar, mylib2.jar и mylib3.jar.

0
ответ дан Community 22 October 2013 в 18:57
поделиться

В моем случае перезапуск Eclipse не решил проблему. Я перезагрузил компьютер и сделал Project -> Clean в затмении

1
ответ дан avalancha 22 October 2013 в 18:57
поделиться

Я столкнулся с той же проблемой в «Затмении Марса». Я скачал банки с [ https://oss.jfrog.org/webapp/#/artifacts/browse/tree/General/repo/org/ethereum/ethereumj-core/1.0.0-SNAPSHOT] [1] и заменил его в каталоге.

Я получил ошибку при добавлении ethereum.jar с использованием pom.xml в C: \ Users {machineName} .m2 \ repository \ org \ ethereum \ ethereumj-core \ 1.0.0-SNAPSHOT \ ethereum-core-1.0.0- SNAPSHOT.jar, я добавил сюда загруженный jar (ethereum-core-1.0.0-SNAPSHOT.jar), и проблема была решена.

1
ответ дан Hem M 22 October 2013 в 18:57
поделиться

В моем случае я попробовал все предложенные советы, но ошибка осталась. Я решил изменить версию на более новую и записать ее в pom.xml. После этого все в порядке.

1
ответ дан enri 22 October 2013 в 18:57
поделиться

В моем случае, я скачал проект из Интернета, после распаковки проекта некоторые файлы были заблокированы, просто разблокируйте файлы и попробуйте снова, затем проблема была решена.

1
ответ дан lomec 22 October 2013 в 18:57
поделиться

В другом случае отображается ошибка Архив для необходимой библиотеки

Щелкните правой кнопкой мыши по проекту и откройте -> Свойства проекта проекта -> Путь сборки Java -> Частные библиотеки Android

если есть два jar-файла с одинаковым именем, удалите один из libs.

файл jar может быть скрыт несколько раз, затем откройте папку libs в окне и проверьте, существуют ли скрытые файлы. Упорядочить -> папки и параметры поиска -> просмотреть -> проверить показ скрытых файлов и Удалить скрытый jar-файл , Тот же самый cass удалить, если в src существуют скрытые java-файлы и пакеты , если есть

10
ответ дан Sandeep P 22 October 2013 в 18:57
поделиться

Похоже, у каждого своя история! Мне пришлось удалить ошибку с вкладки «Маркеры затмения», а затем снова очистить проект. До этого я закрывал и повторно открывал проект / затмение несколько раз, как это было предложено @rachit, что не сработало для меня.

6
ответ дан Mashrur 22 October 2013 в 18:57
поделиться

Я видел ту же проблему. Я удалил этот файл jar, а затем щелкнул правой кнопкой мыши по проекту, выбрал maven и сделал «обновить проект ...». Баночка была снова загружена, и проблема исчезла.

22
ответ дан volatilevar 22 October 2013 в 18:57
поделиться

Решение, которое сработало для меня: перейдите на *.classpath и удалите строку: <classpathentry kind="lib" path="the_problematic_class.java"/>

1
ответ дан BVtp 22 October 2013 в 18:57
поделиться