webentwicklung-frage-antwort-db.com.de

java.lang.ClassNotFoundException: org.Apache.log4j.Level

Ich versuche Hibernate 3.5.1 final in einer Swing-Anwendung zu verwenden

  • Hibernate-Core-3.5.1-Finale
  • hibernate-entitymanager-3.5.1-final
  • hibernate-jpa-2.0-api-1.0.0.Final
  • Hibernate-Annotations-3.5.1-Finale
  • hibernate-commons-annotations-3.2.0.Final
  • dom4j-1.6.1
  • slf4j-api-1.6.4
  • slf4j-log4j12-1.6.4

Wenn ich versuche, die Anwendung auszuführen, erhalte ich die folgende Fehlermeldung:

Failed to instantiate SLF4J LoggerFactory
Reported exception:
Java.lang.NoClassDefFoundError: org/Apache/log4j/Level
    at org.slf4j.LoggerFactory.bind(LoggerFactory.Java:128)
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.Java:108)
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.Java:279)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.Java:252)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.Java:265)
    at org.hibernate.cfg.Configuration.<clinit>(Configuration.Java:165)
    at org.hibernate.ejb.Ejb3Configuration.<clinit>(Ejb3Configuration.Java:127)
    at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.Java:54)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.Java:48)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.Java:32)
    at com.xeno.xecamp.desktopManagement.Main.main(Main.Java:16)
Caused by: Java.lang.ClassNotFoundException: org.Apache.log4j.Level
    at Java.net.URLClassLoader$1.run(URLClassLoader.Java:202)
    at Java.security.AccessController.doPrivileged(Native Method)
    at Java.net.URLClassLoader.findClass(URLClassLoader.Java:190)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:307)
    at Sun.misc.Launcher$AppClassLoader.loadClass(Launcher.Java:301)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:248)
    ... 11 more
Exception in thread "main" Java.lang.NoClassDefFoundError: org/Apache/log4j/Level
    at org.slf4j.LoggerFactory.bind(LoggerFactory.Java:128)
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.Java:108)
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.Java:279)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.Java:252)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.Java:265)
    at org.hibernate.cfg.Configuration.<clinit>(Configuration.Java:165)
    at org.hibernate.ejb.Ejb3Configuration.<clinit>(Ejb3Configuration.Java:127)
    at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.Java:54)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.Java:48)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.Java:32)
    at com.xeno.xecamp.desktopManagement.Main.main(Main.Java:16)
Caused by: Java.lang.ClassNotFoundException: org.Apache.log4j.Level
    at Java.net.URLClassLoader$1.run(URLClassLoader.Java:202)
    at Java.security.AccessController.doPrivileged(Native Method)
    at Java.net.URLClassLoader.findClass(URLClassLoader.Java:190)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:307)
    at Sun.misc.Launcher$AppClassLoader.loadClass(Launcher.Java:301)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:248)
15
Mahmoud Saleh

Sie müssen auch die Log4J-JAR-Datei in den Klassenpfad aufnehmen.

Beachten Sie, dass slf4j-log4j12-1.6.4.jar nur ein Adapter ist, der die Verwendung von Log4J über die SLF4J-API ermöglicht. Es enthält nicht die tatsächliche Implementierung von Log4J.

35
Jesper

Sie müssen log4j herunterladen und Ihren Klassenpfad hinzufügen.

5
elias

In meiner Umgebung habe ich gerade die beiden Dateien zum Klassenpfad hinzugefügt. Und funktioniert gut.

slf4j-jdk14-1.7.25.jar
slf4j-api-1.7.25.jar
0
wenchunl