Ich führe ein einfaches Abhängigkeitsinjektionsprogramm des Frühlings aus und bekomme diese Ausnahme. Ich habe bereits die Dateien common-logging1.1.1.jar und spring.jar eingefügt. Könnten Sie bitte helfen?
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:119)
at org.springframework.context.support.AbstractXmlApplicationContext.<init>(AbstractXmlApplicationContext.java:55)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:77)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:56)
at com.client.StoryReader.main(StoryReader.java:15)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 6 more
java
noclassdeffounderror
Skaffman
quelle
quelle
commons-logging
sind ein Rückschritt. Verwenden Siejcl-over-slf4j
stattdessen.Antworten:
Ich habe auch die gleichen Probleme gehabt, um zu beheben, laden Sie die JAR-Dateien von der folgenden URL herunter
http://commons.apache.org/logging/download_logging.cgi
und kopieren Sie in Ihren lib-Ordner, um Ihr Problem zu beheben.
quelle
Wenn Sie maven zum Verwalten von Abhängigkeiten verwenden, fügen Sie die folgende Zeile in Ihre pom.xml ein:
quelle
Sie laden einfach commons-logging-1.1.2.jar herunter und kopieren diese Datei in libs
Endlich funktioniert es.
quelle
commons-logging-1.1.1.jar oder jcl-over-slf4j-1.7.6.jar al
Wenn Sie maven verwenden, verwenden Sie den folgenden Code.
quelle
Ich hatte das gleiche Problem und löste es, indem ich das einfach
commons-logging.jar
zum Klassenpfad hinzufügte .quelle
Das Hinzufügen von commons-logging.jar oder commons-logging-1.1.jar löst dieses Problem ...
quelle
Sind Sie sicher, dass Sie den Namen der JAR-Datei genau richtig geschrieben haben? Ich denke, es sollte wahrscheinlich sein
commons-logging-1.1.1.jar
(beachten Sie das Extra-
im Namen). Überprüfen Sie auch, ob der Verzeichnisname korrekt ist.NoClassDefFoundError
bedeutet immer, dass eine Klasse nicht gefunden werden kann, sodass Ihr Klassenpfad höchstwahrscheinlich nicht korrekt ist.quelle
NoClassDefFoundError
kann auch durch andere Eckfälle verursacht werden, z. B. wenn Klasseninitialisierer unter dunklen Umständen fehlschlagen.commons-logging-1.1.1.jar
Das Festlegen des Kompilierungsbereichs hat es für mich getan
quelle
Versuchen Sie, das Ziel- / Bereitstellungsverzeichnis für die App vollständig zu bereinigen, um veraltete Bibliotheksgläser zu entfernen. Erstellen Sie einen neuen Build und überprüfen Sie, ob commons-logging.jar tatsächlich im richtigen lib-Ordner abgelegt wird. Es ist möglicherweise nicht enthalten, wenn Sie die Bibliothek für die Anwendung erstellen.
quelle
Problem behoben durch Hinzufügen von commons-logging.jar
Imp-Dateien sind,
quelle
Zwei Optionen (mindestens):
Hinweis: Das Verknüpfen der JAR-Datei kann zu Problemen mit dem Server führen und möglicherweise zum Grund, warum sie dem Erstellungspfad hinzugefügt wird, das Server-Startproblem jedoch nicht löst.
Richten Sie das Glas also nicht auf einen externen Ordner.
ODER...
Wenn Sie eine TC-Serverinstanz verwenden, müssen Sie die JAR-Datei als externe JAR-Datei zu den Ausführungskonfigurationen der Serverinstanz hinzufügen.
Gehen Sie zu Ausführen als, Konfigurationen ausführen ..., {Ihre TC-Serverinstanz} und dann zur Registerkarte Klassenpfad.
Fügen Sie dann das Commons-Logging-Glas hinzu.
quelle
Ich habe die gleichen Probleme wie du. Schließlich überprüfte ich die Version von Apache, die die Klasse besitzt. Ich fand, dass die Version 1.0.4 die Klasse hat.
Versuchen Sie, die Version 1.0.4 anstelle von 1.1.X oder 1.2.X zu verwenden
Meine Abhängigkeiten:
Mein Java Code
Mein Ergebnis:
Stellen Sie außerdem sicher, dass Ihre Maven-Abhängigkeiten gut importiert sind.
quelle
http://commons.apache.org/logging/download_logging.cgi
Verwenden Sie diese URL, um JAR-Dateien herunterzuladen und in Ihren Klassenpfad aufzunehmen. Das Problem wird behoben
quelle
Überprüfen Sie einfach, ob die Datei commons-logging.jar zu Ihren Bibliotheken und dem Klassenpfad hinzugefügt wurde. Ich hatte das gleiche Problem und das lag daran. dhammikas-
quelle
Im Allgemeinen weise ich den Klassenpfad einer Variablen zu und überprüfe ihn dann. Ich habe ein kleines Ruby-Skript geschrieben, das ich in meine Startskripte einbinde und das den Klassenpfad überprüft, bevor Java gestartet wird . Durch die Überprüfung des Klassenpfads vor dem Start der JVM habe ich viel Zeit bei der Fehlerbehebung bei solchen Problemen gespart.
quelle
Hey, ich habe das Tutorial auf tutorialpoint.com verfolgt. Fügen Sie nach Abschluss von Schritt 2 - Installieren der allgemeinen Apache-Protokollierungs-API Folgendes hinzu: Sie müssen externe JAR- Bibliotheken aus den in diesem Schritt heruntergeladenen Dateien in das Projekt importieren . Für mich war der Dateiname " commons-logging-1.1.1 ".
quelle
Wenn Sie dies unter Android ausführen, beachten Sie, dass das
java.beans
Paket unter Android anscheinend nicht vollständig ist. Versuchen Sie Folgendes, um zu versuchen, das Problem unter Android zu beheben:import ***
Aussagen in die der Luftbrücke. ZBimport javadz.beanutils.BeanUtils
stattimport org.apache.commons.beanutils.BeanUtils;
Quelle 1 , Quelle 2
Ich entschuldige mich, da mir klar wird, dass dies die Frage nicht genau beantwortet, obwohl diese SO-Seite bei der Suche nach von Android generierten
NoClassDefFoundError: Failed resolution of: beanUtils
Fehlern häufig auftaucht .quelle
Ich habe den gleichen Fehler erhalten, während das Glas vorhanden war. Keine Lösung hat funktioniert. Was funktionierte, war das Löschen des JAR aus dem Dateisystem (aus dem .m2-Verzeichnis) und das anschließende Bereinigen des Maven-Projekts.
quelle
Ich habe das gleiche Problem in der Eclipse-IDE. Meine Lösung war: Klicken Sie mit der rechten Maustaste auf Mein Projekt> Eigenschaften
Klicken Sie in Maven und schreiben Sie: jar in das Active Maven-Projekt
Zum Schluss Übernehmen und schließen
quelle
In meinem Fall habe ich eine Tomcat-App in Eclipse getestet und diesen Fehler erhalten. Ich habe es durch Überprüfen der
.classpath
Datei gelöst und diesen Eintrag korrigiert:Das Attribut
org.eclipse.jst.component.dependency
fehlte.quelle
Überprüfen Sie, ob die Gläser ordnungsgemäß importiert wurden. Ich habe sie über den Erstellungspfad importiert. Das JAR im Ordner WAR / lib wurde jedoch nicht erkannt. Später habe ich das gleiche Glas in den Ordner war / lib kopiert . Es funktioniert jetzt gut. Sie können Ihr Projekt aktualisieren / bereinigen.
quelle
Hallo Freunde, wenn Sie eine Ausnahme erhalten, die keine Klasse im Ruhezustand gefunden hat, handelt es sich um das Problem von JAR-Dateien. Es gibt hauptsächlich zwei Probleme. 1.
Ich meine, Ihre funktionierende alte Version von Ruhezustand kann 3.2 sein funktioniert gut
2. überprüft zuerst die Datenbankverbindung. Wenn die Datenbank ordnungsgemäß funktioniert, ist ein Fehler in Ihrem Programm oder Ihrer JAR-Datei aufgetreten.
Bitte überprüfen Sie diese beiden Probleme, wenn es auch nicht funktioniert. Sie haben versucht, eine IDE zu erstellen. Ich verwende die Version netbeanside 6.9. Hier funktioniert der Ruhezustand einwandfrei. Sie erhalten keinen Fehler von der Klasse, die keine Ausnahme gefunden hat.
Ich hoffe dieser hilft mehr
quelle
Die Lösung besteht darin, die JAR-Datei common-logging.xx hinzuzufügen
quelle
Versuchen Sie, diese Abhängigkeit hinzuzufügen org.apache.commons commons-exec 1.3
quelle
Wenn alles andere fehlschlägt, wie es für mich der Fall war, versuchen Sie, das commons-logging-xyzjar in Ihrem Tomcat lib-Verzeichnis abzulegen. Es hat das Problem gelöst! Übrigens benutze ich Tomcat 6.
quelle