web-dev-qa-db-fra.com

Erreur de compilation "Impossible de lire l'archive de la bibliothèque requise" - Spring Tool Suite

Je commence à configurer mon environnement de développement et j'utilise Spring Tool Suite 2.8.1 avec m2E 1.01.

Autant que je sache, puisqu'il s'agit d'un projet Maven (mon premier), mon POM Maven dicte (avec les smarts m2E) la configuration de construction de mon projet et ses dépendances.

Ce que je voudrais savoir, c’est pourquoi mon IDE affiche les problèmes de construction Java qui se lisent "Archive requise pour bibliothèque library/path/somejar.jar ne peut pas être lu ou n’est pas un fichier Zip valide" lorsque peut voir les bocaux dans mon référentiel .m2?

Toutes les erreurs se rapportaient à commons-logging: 1.1.1, ce que j’excluais dans mon parent-pom. C'était une dépendance transistive via spring-context-support: 3.0.5. J'ai exclu cette bibliothèque de ma construction et maintenant les erreurs se rapportent à la bibliothèque spring-context-support.

J'ai joint une capture d'écran pour illustrer.

Markers

68
totalcruise

En effet, les IDE mettent souvent en cache le référentiel local (Eclipse fait quelque chose de similaire et je dois relancer Eclipse).

Un comportement maven moche que vous pouvez rencontrer est que si vous déclarez une dépendance avant de l’installer, maven créera une version vide de la dépendance manquante (dossier avec des métadonnées mais pas de jar) et vous devrez nettoyer manuellement votre référentiel. .

Troisièmement, une archive installée (jar ...) peut être corrompue. Essayez donc de l'ouvrir avec n'importe quel outil d'archivage (7Zip ...) pour la tester et supprimez le dossier entier si l'archive est corrompue.

83
Samuel EUSTACHI

Dans mon cas, j'ai dû supprimer manuellement tous les fichiers du dossier .m2\repository, puis ouvrir la commande Invite et exécuter la commande mvn -install dans le répertoire de mon projet.

16
intersum

J'utilisais Eclipse comme IDE et j'obtenais la même erreur. Je devais faire Project-> Maven-> Update Project. Cochez toutes les cases ci-dessous sauf "hors ligne" esp. celui "Forcer la mise à jour des instantanés/des versions" et cliquez sur OK. Est-ce que la construction propre pour le projet à nouveau.

10
Gopal Bairwa

Supprimez les fichiers corrompus de votre référentiel .m2 local et Ctrl+F5 (Mise à jour du projet Maven) dans Eclipse/STS. Il va télécharger et installer ces fichiers.

5
kolobok

Cela a fonctionné pour moi.

  1. Fermer Eclipse
  2. Supprimer ./m2/repository
  3. Ouvrez Eclipse, il téléchargera automatiquement tous les pots
  4. Si le problème persiste, cliquez avec le bouton droit sur projet> Maven> Mettre à jour le projet ...> Cochez la case "Forcer la mise à jour des instantanés/versions"
3
Kaushal Dokania

Pour les googleurs:

Dans mon cas, j’avais accidentellement ajouté manuellement une classe Java au chemin de construction en cherchant dans Eclipse. En examinant le chemin de configuration de la configuration ...> Bibliothèques, j'ai supprimé la classe des coupables 

  • Bibliothèque système JRE
  • Dépendances Maven

et rien ne se plaint.

2
HoppyKamper

Dans mon cas, j'ai essayé tous les conseils suggérés, mais l'erreur est restée. J'ai résolu de changer avec une version plus récente et de l'écrire dans le fichier pom.xml. Après cela, tout va bien maintenant.

1
enri

J'ai supprimé le référentiel Maven local. Puis cliquez avec le bouton droit de la souris sur le projet -> Maven -> Mettre à jour le projet ... Sélectionnez tous les projets concernés et cliquez sur OK.

1
PrestigeDev

Supprimer les dépendances maven du chemin de construction

0
basavaraj N

Cela est peut-être dû au fait que vous avez ajouté le fichier spring-licence.txt à vos bibliothèques d'applications Web.

J'ai eu un problème similaire et résolu après la suppression de ce fichier texte. Dans les bibliothèques, seul le fichier jar est attendu.

Alternativement, les commandes ci-dessous ont également fonctionné pour moi:

mvn -s settings.xml Eclipse:clean
mvn -s settings.xml Eclipse:eclipse
0
Snehal Masne

Je faisais face au même problème avec mon projet.

Mon projet n'a pas pu trouver cette archive: -

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

Je suis allé dans ce répertoire et j'ai supprimé ce dossier.

Retournez à Eclipse et appuyez sur ALT + F5 pour mettre à jour le projet.

Le fichier jar a été téléchargé à nouveau et le problème a été résolu.

Tu devrais essayer ça.

0
Rakesh Narang

Je suis confronté au même problème. J'ai supprimé le référentiel local et relancé l'ID. Cela a bien fonctionné.

0
Sameer Desai

Ok, j’ai eu le même problème avec STS sur un mac et je l’ai résolu en supprimant tous les fichiers du dossier du référentiel. À partir de STS IDE, cliquez sur le projet puis sur Maven -> Mettre à jour le projet. Donnez-lui quelques minutes pour télécharger toutes les dépendances et le problème sera résolu.

0
AlketCecaj

aucune des solutions ci-dessus n'a aidé mon problème. Je l'ai résolu en supprimant tous les fichiers du dossier {projectworkspace} /. Metadata ET du dossier {emplacement} /. M2 et j'ai laissé Eclipse tout télécharger à nouveau. J'espère que cela aide quelqu'un, bravo!

0
vibetribe93

Quand j’ai reçu une erreur disant «l’archive pour la bibliothèque requise n’a pas pu être lue», je l’ai résolue en supprimant les JARS en question du chemin de construction du projet, puis en utilisant «Ajouter des fichiers JAR externes» dans le même dossier qu’ils étaient). L'utilisation du bouton "Ajouter des fichiers JAR" ne fonctionnerait pas et l'erreur serait toujours là. Mais utiliser "Ajouter des bocaux externes" a fonctionné.

0
Steve Stilson

Je viens d'avoir ce problème sur Indigo SR2. Il est apparu après que j'ai retiré un fichier jar superflu du classpath (chemin de génération). Redémarrer Eclipse n'a pas aidé. Ajoute le fichier jar au chemin de construction ... l'erreur est partie. Retiré le pot encore une fois, et cette fois j'ai été épargné d'une autre plainte. 

0
elder elder

J'ai fait face à ce problème. J'avais "L'archive pour la bibliothèque requise spring-boot-devtools ne peut pas être lue ou n'est pas un fichier Zip valide" et la solution était la suivante: - 1- Déterminez les noms de dépendances posant problème (par exemple, c'est le printemps) -boot-devtools) . 2- fermez Eclipse ..__ 3- recherchez dans votre fichier .m2 ces dépendances (par leur nom) . 4- supprimez ces dossiers . 5- rouvrez Eclipse et Laissez Maven reconstruire vos dépendances à nouveau.

0
Abdollah Sobhy

Les étapes ci-dessous ont résolu mon problème.

  1. Accédez au dossier ./m2/repository.

  2. Accédez au dossier d'erreur d'archive respectif.

  3. Vérifiez que tout fichier Zip existe.

  4. supprimer le dossier du nom de l'erreur.

  5. Venez maintenant dans le projet Eclipse - Clic droit - Maven -> Mettre à jour le projet.

L'astuce ci-dessus fonctionne pour moi.

0
Rajesh Om