Подтвердить что ты не робот

Ошибка компилятора "для требуемой библиотеки не может быть прочитана" - Spring Набор инструментов

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

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

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

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

Я приложил скриншот, чтобы проиллюстрировать.

Markers

4b9b3361

Ответ 1

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

Одно уродливое поведение maven, с которым вы можете столкнуться, состоит в том, что, если вы заявляете зависимость до того, как вы его действительно установили, maven создаст пустую версию отсутствующей зависимости (папку с метаданными, но без jar), и вам придется вручную очистить .m2.

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

Ответ 2

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

Ответ 3

Я использовал Eclipse в качестве IDE, и я получал очень ту же ошибку. Мне нужно было выполнить Project- > Maven- > Update Project. Выделите все флажки ниже, кроме "offline" esp. один "Принудительное обновление снимков/выпусков" и нажмите "ОК". Удалил ли проект Clean Build для проекта.

Ответ 4

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

Ответ 5

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

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

Ответ 6

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

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

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

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

Ответ 7

Приведенные ниже шаги решили мою проблему.

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

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

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

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

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

Выше уловка работает для меня.

Ответ 8

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

Ответ 9

Я удалил локальный репозиторий maven. Затем просто нажмите правой кнопкой мыши проект → Maven → Обновить проект... Выберите все заинтересованные проекты и нажмите "ОК".

Ответ 10

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

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

Ответ 11

Удаление зависимостей maven из пути сборки

Ответ 12

Я столкнулся с этой проблемой. У меня был "Архив для требуемой библиотеки spring -boot-devtools не может быть прочитан или не является допустимым ZIP файлом", и решение было таким: 1- Определите имена зависимостей, у которых есть проблемы (возможно, это spring -boot-devtools). 2- закрыть затмение. 3- поиск в вашем файле .m2 в этих зависимостях (по имени). 4- удалите эти папки. 5. Повторно заткните eclipse и позвольте maven снова восстановить ваши зависимости.

Ответ 13

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

Ответ 14

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

Ответ 15

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

Ответ 16

Ни одно из приведенных выше решений не помогло моей проблеме. Я решил эту проблему, удалив все файлы в папке {projectworkspace}/. Метаданных И в папке {location}/. M2 и позволив eclipse снова загрузить каждую вещь. Надеюсь, это поможет кому-то, ура!

Ответ 17

Когда я получил сообщение о том, что "архив для требуемой библиотеки не может быть прочитан", я решил ее, удалив JARS, о котором идет речь, из пути сборки проекта, а затем с помощью "Добавить внешние файлы JAR" снова добавил их (переход в ту же папку, в которой они были). Использование кнопки "Добавить банки" не сработает, и ошибка все равно будет. Но с помощью "Добавить внешние банки" работал.

Ответ 18

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

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

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

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

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

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

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

Ответ 19

Кроме того, ниже команды также помогли мне:

mvn -s settings.xml eclipse:clean
mvn -s settings.xml eclipse:eclipse