Ich beginne mit der Konfiguration meiner Entwicklungsumgebung und verwende Spring Tool Suite 2.8.1 zusammen mit m2E 1.01.
Soweit ich das beurteilen kann, diktiert mein Maven POM (zusammen mit m2E smarts) meine Projektbuildkonfiguration und -abhängigkeiten, da dies ein Maven-Projekt ist (mein erstes).
Was ich wissen möchte, ist, warum meine IDE Java Build-Probleme anzeigt, die lauten "Archiv erforderlich für Bibliothek Bibliothek / Pfad / somejar.jar kann nicht gelesen werden oder ist keine gültige Zip-Datei", wenn ich die Jars in meiner .m2 sehen kann Repository?
Alle Fehler betrafen die Commons-Protokollierung: 1.1.1, die ich in meinem Eltern-Pom ausgeschlossen habe. Dies war eine transistive Abhängigkeit über Spring-Context-Support: 3.0.5. Ich habe diese Bibliothek von meinem Build ausgeschlossen und jetzt beziehen sich die Fehler auf die Spring-Context-Support-Bibliothek.
Ich habe einen Screenshot zur Veranschaulichung angehängt.
install
Ziel für maven ausführen : Suchen Sie nach dem Kontextmenü für m2e. Dadurch werden alle fehlenden Abhängigkeiten abgerufen.Antworten:
Tatsächlich zwischenspeichern IDEs häufig das lokale Repository (Eclipse macht etwas Ähnliches, und ich muss Eclipse neu starten).
Ein hässliches Maven-Verhalten, das auftreten kann, besteht darin, dass Maven eine leere Version der fehlenden Abhängigkeit (Ordner mit Metadaten, aber ohne JAR) erstellt und Ihr .m2-Repository manuell bereinigen muss, wenn Sie eine Abhängigkeit deklarieren, bevor Sie sie tatsächlich installieren .
Drittens kann ein installiertes Archiv (jar ...) beschädigt werden. Versuchen Sie daher, es mit einem beliebigen Archiv-Tool (7zip ...) zu öffnen, um es zu testen, und löschen Sie den gesamten Ordner, wenn das Archiv beschädigt ist.
quelle
rm -rf ~/.m2/repository/<path of dependency>
(Linux / Mac) ist alles, was benötigt wird.In meinem Fall musste ich alle Dateien im
.m2\repository
Ordner manuell löschen und dann die Eingabeaufforderung öffnen und denmvn -install
Befehl in meinem Projektverzeichnis ausführen .quelle
mvn -install
sagt, dass es kein gültiger Befehl ist. Ich habe gerade alle Dateien in gelöscht.m2\repository
und das Maven-Projekt von IDE (STS) mit Alt + F5 aktualisiert. Aktivieren Sie dann "Aktualisierung von Snapshots / Releases erzwingen" und dann OK ... habe mein Problem gelöst. DANKE :)Ich habe Eclipse als IDE verwendet und den gleichen Fehler erhalten. Ich musste Project-> Maven-> Update Project ausführen. Aktivieren Sie alle Kontrollkästchen unten, außer "offline". die eine "Aktualisierung von Snapshots / Releases erzwingen" und klicken Sie auf OK. Hat den Clean Build für das Projekt erneut durchgeführt.
quelle
Löschen Sie beschädigte Dateien aus Ihrem lokalen .m2-Repository und Ctrl+ F5(Update Maven Project) in Eclipse / STS. Diese Dateien werden heruntergeladen und installiert.
quelle
Das hat bei mir funktioniert.
quelle
Für Googler:
In meinem Fall hatte ich versehentlich versehentlich eine Java-Klasse zum Erstellungspfad hinzugefügt, während ich mich in Eclipse umgesehen habe. Durch einen Blick auf 'Buildpfad konfigurieren ...> Bibliotheken habe ich die Täterklasse entfernt und habe jetzt nur noch die
und nichts beschwert sich.
quelle
Die folgenden Schritte haben mein Problem behoben.
Wechseln Sie in den Ordner ./m2/repository.
Wechseln Sie in den entsprechenden Archivfehlerordner.
Stellen Sie sicher, dass eine Zip-Datei vorhanden ist.
Fehlernamenordner löschen.
Kommen Sie nun zu Eclipse Project - Rechtsklick - Maven -> Projekt aktualisieren.
Der obige Trick funktioniert bei mir.
quelle
In meinem Fall habe ich alle vorgeschlagenen Tipps ausprobiert, aber der Fehler blieb bestehen. Ich habe das Ändern mit einer neueren Version gelöst und diese in die pom.xml geschrieben. Danach ist jetzt alles in Ordnung.
quelle
Ich habe das lokale Maven-Repository gelöscht. Klicken Sie dann einfach mit der rechten Maustaste auf das Projekt -> Maven -> Projekt aktualisieren ... Wählen Sie alle betroffenen Projekte aus und klicken Sie auf OK.
quelle
Ich hatte das gleiche Problem mit meinem Projekt.
Mein Projekt konnte dieses Archiv nicht finden: -
C:\Users\rakeshnarang\.m2\repository\org\hibernate\hibernate-core\5.3.7.Final
Ich ging in dieses Verzeichnis und löschte diesen Ordner.
Ging zurück zu Eclipse und drückte ALT + F5, um das Projekt zu aktualisieren.
Die JAR-Datei wurde erneut heruntergeladen und das Problem behoben.
Sie sollten dies versuchen.
quelle
Entfernen Sie Maven-Abhängigkeiten aus dem Erstellungspfad
quelle
Ich war mit diesem Problem konfrontiert. Ich hatte "Archiv für erforderliche Bibliothek spring-boot-devtools kann nicht gelesen werden oder ist keine gültige ZIP-Datei" und die Lösung war wie folgt: - 1- Bestimmen Sie die Abhängigkeitsnamen, die Probleme haben (für den Fall, dass es sich um Spring-Boot handelt). devtools). 2- Sonnenfinsternis schließen. 3- Suchen Sie in Ihrer .m2-Datei nach diesen Abhängigkeiten (nach Namen). 4- Löschen Sie diese Ordner. 5- Öffnen Sie Eclipse erneut und lassen Sie Maven Ihre Abhängigkeiten erneut erstellen.
quelle
Ok, ich hatte das gleiche Problem mit STS auf einem Mac und löste es, indem ich alle Dateien im Repository-Ordner löschte und in der STS-IDE auf das Projekt und dann auf Maven -> Projekt aktualisieren klickte. Nehmen Sie sich ein paar Minuten Zeit, um alle Abhängigkeiten herunterzuladen, und das Problem ist behoben.
quelle
Ich stehe vor dem gleichen Problem. Ich habe das lokale Repository gelöscht und die ID neu gestartet. Es hat gut funktioniert.
quelle
Hatte gerade dieses Problem auf Indigo SR2. Es tauchte auf, nachdem ich ein überflüssiges Glas aus dem Klassenpfad (Erstellungspfad) entfernt hatte. Ein Neustart von Eclipse hat nicht geholfen. Das Glas wurde wieder zum Erstellungspfad hinzugefügt ... Fehler behoben. Entfernte das Glas noch einmal und diesmal wurde ich von einer weiteren Beschwerde verschont.
quelle
Keine der oben genannten Lösungen hat meinem Problem geholfen. Ich habe es behoben, indem ich alle Dateien im Ordner {projectworkspace} /. Metadata AND im Ordner {location} /. M2 gelöscht habe und Eclipse jedes einzelne Element erneut herunterladen ließ. Hoffe das hilft jemandem, Prost!
quelle
Als ich die Fehlermeldung "Archiv für erforderliche Bibliothek konnte nicht gelesen werden" erhielt, löste ich das Problem, indem ich die fraglichen JARS aus dem Erstellungspfad des Projekts entfernte und sie dann mithilfe von "Externe Jars hinzufügen" wieder hinzufügte (Navigieren) in den gleichen Ordner, in dem sie sich befanden). Die Verwendung der Schaltfläche "Gläser hinzufügen" würde nicht funktionieren, und der Fehler wäre weiterhin vorhanden. Die Verwendung von "Externe Gläser hinzufügen" funktionierte jedoch.
quelle
Dies kann daran liegen, dass Sie Ihren Web-App-Bibliotheken die Datei spring-licence.txt hinzugefügt haben.
Ich hatte ein ähnliches Problem und löste es nach dem Entfernen dieser Textdatei. In Bibliotheken wird nur eine JAR-Datei erwartet.
quelle
Alternativ funktionierten die folgenden Befehle auch für mich:
mvn -s settings.xml eclipse:clean mvn -s settings.xml eclipse:eclipse
quelle
Führen Sie im Fall von VSCode die folgenden Schritte aus:
Das hat bei mir funktioniert.
quelle
Lesen Sie das Problem im Abschnitt Probleme, identifizieren Sie, welche Abhängigkeit nicht gelesen werden kann, und gehen Sie dann zum Maven-Repository .m2 \ Repository -> 1) Überprüfen Sie die Abhängigkeiten und löschen Sie sie aus dem Ordner. 2) Gehen Sie zu STS / Eclipse -> Klicken Sie auf Maven. > Projekt aktualisieren -> Wählen Sie die Aktualisierung von Snapshots / Releases erzwingen und klicken Sie auf OK.
oder löschen Sie die Abhängigkeiten aus dem .m2 / Repository und erstellen Sie den Maven neu -> aktualisieren Sie das Maven-Projekt
quelle
Dies passiert, wenn Eclipse es vermasselt. Löschen Sie alle Dateien in:
workspace/.metadata/.plugins/org.eclipse.jdt.core
quelle