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, da dies ein Maven-Projekt (mein erstes) ist, diktiert mein Maven-POM (zusammen mit m2E-Smarts) die Konfiguration und Abhängigkeiten des Projekts.
Ich würde gerne wissen, warum meine IDE Java Build-Probleme anzeigt, die lesen "Archiv erforderlich für library library/path/somejar.jar - kann nicht gelesen werden oder ist keine gültige ZIP-Datei", wenn können die Gläser in meinem .m2-Repository angezeigt werden?
Alle Fehler betrafen das Commons-Logging: 1.1.1, das ich in meinem Eltern-Pom ausgeschlossen habe. Dies war eine transistive Abhängigkeit über die Federkontextunterstützung: 3.0.5. Ich habe diese Bibliothek von meinem Build ausgeschlossen, und jetzt beziehen sich die Fehler auf die Spring-Context-Support-Bibliothek.
Zur Veranschaulichung habe ich einen Screenshot beigefügt.
Tatsächlich zwischenspeichern IDEs oft das lokale Repository (Eclipse macht etwas Ähnliches, und ich muss Eclipse neu starten).
Ein hässliches Maven-Verhalten, auf das Sie stoßen könnten, ist, dass wenn Sie vor der Installation eine Abhängigkeit deklarieren, maven eine leere Version der fehlenden Abhängigkeit (Ordner mit Metadaten, aber keine JAR) erstellt und Sie das .m2-Repository manuell bereinigen müssen .
Drittens kann ein installiertes Archiv (jar ...) beschädigt werden. Versuchen Sie daher, es mit einem beliebigen Archivierungsprogramm (7Zip ...) zu öffnen, um es zu testen, und löschen Sie den gesamten Ordner, wenn das Archiv beschädigt ist.
In meinem Fall musste ich alle Dateien im Ordner .m2\repository
manuell löschen und dann den Befehl Eingabeaufforderung öffnen und den Befehl mvn -install
in meinem Projektverzeichnis ausführen.
Ich habe Eclipse als IDE verwendet, und ich erhielt denselben Fehler. Ich musste Projekt-> Maven-> Update-Projekt machen. Aktivieren Sie alle Kontrollkästchen mit Ausnahme von "offline". Klicken Sie auf "Aktualisieren von Snapshots/Releases erzwingen" und klicken Sie auf OK. Hat den Clean Build für das Projekt erneut durchgeführt.
Löschen Sie beschädigte Dateien aus Ihrem lokalen .m2-Repository und Ctrl+F5 (Maven-Projekt aktualisieren) in Eclipse/STS. Diese Dateien werden heruntergeladen und installiert.
Das hat bei mir funktioniert.
Für Googler:
In meinem Fall hatte ich versehentlich manuell eine Java-Klasse zum Build-Pfad hinzugefügt , während ich um Eclipse herumstocherte. Mit einem Blick auf "Build-Pfad konfigurieren"> Bibliotheken habe ich die Täterklasse entfernt und habe jetzt nur noch die
und nichts beschwert sich.
In meinem Fall habe ich alle vorgeschlagenen Tipps ausprobiert, der Fehler blieb jedoch bestehen. Ich habe das Ändern mit einer neueren Version behoben und diese in die pom.xml geschrieben. Danach ist alles in Ordnung.
Ich habe das lokale Maven-Repository gelöscht. Klicken Sie dann mit der rechten Maustaste auf das Projekt -> Maven -> Update Project ... Wählen Sie alle betroffenen Projekte aus und klicken Sie auf OK.
Entfernen Sie Maven-Abhängigkeiten aus dem Erstellungspfad
Dies kann daran liegen, dass Sie Ihre Webanwendungsbibliotheken die Datei spring-licence.txt hinzugefügt haben.
Ich hatte ein ähnliches Problem und wurde nach dem Entfernen dieser Textdatei behoben. In Bibliotheken wird nur eine JAR-Datei erwartet.
Alternativ haben die folgenden Befehle auch für mich funktioniert:
mvn -s settings.xml Eclipse:clean
mvn -s settings.xml Eclipse:eclipse
Ich hatte mit meinem Projekt das gleiche Problem.
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 wurde behoben.
Sie sollten es versuchen.
Ich bin mit dem gleichen Problem konfrontiert. Ich habe das lokale Repository gelöscht und die ID neu gestartet. Es hat gut funktioniert.
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 aus dem STS IDE auf das Projekt und dann auf Maven -> Update-Projekt klicke. Nehmen Sie sich ein paar Minuten Zeit, um alle Abhängigkeiten herunterzuladen, und das Problem ist gelöst.
keine der oben genannten Lösungen half meinem Problem. Ich habe es gelöst, indem ich alle Dateien im Ordner {projectworkspace} /. Metadata AND im Ordner {location} /. M2 lösche und Eclipse jedes einzelne Element erneut herunterladen lasse. Hoffe das hilft jemandem, Prost!
Als ich eine Fehlermeldung bekam, dass "Archiv für benötigte Bibliothek konnte nicht gelesen werden", löste ich es, indem ich die fraglichen JARS aus dem Erstellungspfad des Projekts entfernte und sie anschließend mit "Externe Jars hinzufügen" wieder hinzufügte (Navigation im selben Ordner, in dem sie sich befanden). Die Schaltfläche "Jars hinzufügen" funktionierte nicht und der Fehler wäre immer noch vorhanden. Die Verwendung von "Externe Gläser hinzufügen" funktionierte jedoch.
Hatte gerade dieses Problem mit Indigo SR2. Es erschien, nachdem ich ein überflüssiges Glas aus dem Klassenpfad (Build-Pfad) entfernt hatte. Der Neustart von Eclipse hat nicht geholfen. Das Glas wurde wieder in den Build-Pfad eingefügt ... Der Fehler ging weg. Entfernte das Glas erneut und diesmal wurde ich von einer weiteren Beschwerde verschont.
Ich stand vor diesem Problem. Ich hatte "Archiv für die benötigte Bibliothek Spring-Boot-Devtools kann nicht gelesen werden oder ist keine gültige Zip-Datei" und die Lösung war so: -.__ -boot-devtools) . 2- Schließen Sie Eclipse . 3- in dieser .m2-Datei nach diesen Abhängigkeiten (anhand des Namens) . 4- löschen Sie diese Ordner ..__ lassen Sie Maven Ihre Abhängigkeiten wieder aufbauen.
Folgende Schritte haben mein Problem behoben.
Wechseln Sie in den Ordner ./m2/repository.
Gehen Sie zum entsprechenden Archivfehlerordner.
Stellen Sie sicher, dass eine ZIP-Datei vorhanden ist.
ordner mit Fehlernamen löschen.
Kommen Sie jetzt zum Eclipse-Projekt - Rechtsklick - Maven -> Projekt aktualisieren.
Über Trick funktioniert für mich.