82 votes

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

Je commence à configurer mon environnement de développement et je suis en utilisant Spring Tool Suite 2.8.1 avec m2E 1.01.

Aussi loin que je peux dire, puisque c'est un Projet Maven (mon premier), mon POM Maven est de dicter (avec m2E smarts) mon projet de configuration de la compilation et des dépendances.

Ce que je voudrais savoir, c'est pourquoi mon IDE est de l'affichage de Java Build Problèmes que lire "Archive requis pour la bibliothèque library/path/somejar.jar ne peut pas être lu ou n'est pas valide d'un fichier zip" quand je vois les pots dans mon .m2 référentiel?

Toutes les erreurs portaient sur commons-logging:1.1.1 qui j'exclus de mon parent-pom. C'était un transistive de dépendance par printemps-cadre-support:3.0.5. J'ai exclu que la bibliothèque de mon build et maintenant, les erreurs concernent le printemps-contexte-bibliothèque de prise en charge..

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

Markers

Merci beaucoup

95voto

Samuel EUSTACHI Points 1609

En effet IDEs souvent cache le référentiel local (Eclipse n'quelque chose de semblable, et je dois relancer Eclipse).

Un laid maven comportement que vous pouvez rencontrer est que si vous déclarez une dépendance à l'avant de l'installer, maven va créer un vide version de la dépendance manquante (dossier avec des métadonnées, mais pas de pot), et vous aurez à nettoyer manuellement votre .m2 référentiel.

Troisièmement, une installation d'archive (jar...) peuvent être corrompues, alors essayez de l'ouvrir avec n'importe quel outil d'archivage (7zip...) pour le tester, et de supprimer tout le dossier si l'archive est corrompue.

18voto

intersum Points 126

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

1voto

enri Points 35

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 d'écrire cela dans le pom.xml. Après cela, tout va bien.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X