Ошибка компилятора “не удалось прочитать архив для требуемой библиотеки” - Spring Tool Suite

StackOverflow https://stackoverflow.com/questions/8857985

Вопрос

Я начинаю настраивать свою среду разработки и использую Spring Tool Suite 2.8.1 вместе с m2E 1.01.

Насколько я могу судить, поскольку это проект Maven (мой первый), мой Maven POM диктует (наряду с m2E smarts) конфигурацию сборки моего проекта и зависимости.

Что я хотел бы знать, так это почему моя IDE отображает проблемы сборки Java с надписью "Требуется архив для библиотеки library/path/somejar.jar не может быть прочитан или не является допустимым zip-файлом ", когда я смогу увидеть jars в моем репозитории .m2?

Все ошибки относились к commons-logging: 1.1.1, которые я исключил в своем родительском поме.Это была временная зависимость через spring-context-support: 3.0.5.Я исключил эту библиотеку из своей сборки, и теперь ошибки относятся к библиотеке spring-context-support.

Я приложил скриншот для иллюстрации.

Markers

Это было полезно?

Решение

Действительно, Ides часто кэширует локальный репозиторий (Eclipse делает что -то подобное, и я должен перезапустить Eclipse).

Одно уродливое поведение Maven, с которым вы можете столкнуться, это то, что если вы объявите зависимость, прежде чем фактически установить ее, Maven создаст пустую версию недостающей зависимости (папка с метаданными, но без банки), и вам придется вручную очистить свой репозиторий .m2 Анкет

В -третьих, установленный архив (Jar ...) может быть поврежден, поэтому попробуйте открыть его с помощью любого архивного инструмента (7ZIP ...), чтобы проверить его и удалить всю папку, если архив поврежден.

Другие советы

В моем случае мне пришлось вручную удалить все файлы в .m2\repository папка, а затем откройте командную строку и запустите mvn -install командование в моем каталоге проекта.

Я использовал Eclipse в качестве IDE, и у меня была такая же ошибка. Мне пришлось сделать Project-> Maven-> Обновление проекта. Выберите все флажки ниже, кроме «автономного» особенно. Одно «обновление моментальных снимков/выпусков» и нажмите ОК. Чистая сборка снова для проекта снова.

Удалить поврежденные файлы из вашего местного репозитория .m2 и Ctrl+F5 (Обновление Maven Project) в Eclipse/STS. Он загрузит и установит эти файлы.

Это сработало для меня.

  1. Близкое затмение
  2. Удалить ./m2/repository
  3. Откройте Eclipse, он автоматически загрузит все банки
  4. Если все еще остается проблема, то Щелкните правой кнопкой мыши> Maven> Обновление проекта ...> Проверьте «Обновление сил снимков/выпусков»

Для Гуглеров:

В моем случае у меня случайно вручную добавлен класс Java в путь сборки пока ковырялся в Eclipse.Взглянув на 'Configure Build Path ...> Библиотеки, я удалил класс-виновник, и теперь у меня есть только

  • Системная библиотека JRE
  • Зависимости Maven

и ни на что не жалуется.

Ниже шаги решили мою проблему.

  1. Перейдите в папку ./m2/repository.

  2. Перейдите в соответствующую папку ошибок архива.

  3. Убедитесь, что любой zip -файл существует.

  4. Удалить папку имени ошибки.

  5. Теперь приходите в проект Eclipse - щелчок правой кнопкой мыши - Maven -> Обновление проекта.

Наверху трюк работает для меня.

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

Я удалил местный репозиторий Maven. Тогда просто правой клик проект -> Maven -> Обновить проект ... выберите все заинтересованные проекты и нажмите ОК.

Удалить Maven Devingdenices с пути сборки

Я столкнулся с этой проблемой. У меня был «архив для необходимых библиотечных библиотечных пружин-бутовых девтоолсов не может быть прочитал или не является действительным zip-файлом», и решение было похоже на то, что:-1- Определите имена зависимостей, у которых есть проблемы (для мая это Spring-Boot- Devtools). 2- Затклятое затмение. 3- Поиск в вашем файле .m2 на этих зависимостях (по имени). 4- Удалить эти папки. 5- Откройте затмение и позвольте Maven снова восстановить ваши зависимости.

ОК, у меня была та же проблема с STS на Mac и решил его, удалив все файлы в папке репозитория и из STS IDE нажмите на проект, а затем Maven -> Обновление проекта. Дайте ему пару минут, чтобы загрузить все зависимости, и проблема решена.

Я сталкиваюсь с той же проблемой. Я удалил местный репозиторий и перезапустил удостоверение личности. Это сработало нормально.

Просто была эта проблема на индиго SR2. Он выскочил после того, как я снял лишнюю банку с пузыря обстановки (путь сборки). Перезагрузка Eclipse не помогла. Добавлено в обратном направлении к пути сборки ... Ошибка ушла. Удалили банку еще раз, и на этот раз меня пощадили от другой жалобы.

Ни одно из приведенных выше решений не помогло моей проблеме. Я решил его, удалив все файлы в папке {ProjectWorkspace}/. В папке Metadata и в {местоположении}/. M2 и позволил Eclipse скачать все снова. Надеюсь, это поможет кому -то, ура!

Когда я получил ошибку, в которой говорилось: «Архив для необходимой библиотеки нельзя прочитать», - я решил ее, удалив рассматриваемые банки с пути сборки проекта, а затем используя «Добавить внешние банки», чтобы добавить их снова (навигация в ту же папку, в которой они были). Использование кнопки «Добавить банки» не сработает, и ошибка все равно будет там. Но использование «добавить внешние банки» сработало.

Это может быть связано с тем, что вы добавили файл Spring-licence.txt в библиотеки веб-приложений.

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

Я столкнулся с той же проблемой с моим проектом.

Мой проект не смог найти этот архив: -

C:\Users\rakeshnarang\.m2\repository\org\hibernate\hibernate-core\5.3.7.Final

Я пошел в этот каталог и удалил эту папку.

Вернулся в Eclipse и нажмите Alt + F5, чтобы обновить проект.

Файл JAR был снова загружен, и проблема была решена.

Вы должны попробовать это.

В качестве альтернативы, ниже команды также работали для меня:

mvn -s settings.xml eclipse:clean
mvn -s settings.xml eclipse:eclipse
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top