Hibernate - java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
Ich versuchte, führen Sie einfach das Programm mit hibernate und HSQLDB.
Ich bin mit log4j
für dieses Projekt mit log4j.properties
:
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %c{1}:%L - %m%n
# Root logger option
log4j.rootLogger=INFO, stdout
# Hibernate logging options (INFO only shows startup messages)
log4j.logger.org.hibernate=INFO
# Log JDBC bind parameter runtime arguments
log4j.logger.org.hibernate.type=INFO
und alle bauen mit Ant
-, build-Datei können Sie siehe hier.
Aber wenn ich schemaexport
Ziel fing ich nächste Fehler:
BUILD FAILED
/home/nazar_art/workspace/Persistance/build.xml:64: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
Aber ich nicht verwenden slf4j
warum das verursacht?
hier ist mein Inhalt lib
Ordner mit allen Gläsern, die Er verwendet:
Ich konnte nicht herausfinden, warum geschieht dies?
Ist hier besser Projektstruktur:
EDIT:
Fügte ich slf4j-api-1.6.1.jar
und slf4j-log4j12-1.6.1.jar
aber es wirft:
BUILD FAILED
/home/nazar_art/workspace/Dauer/bauen.xml:64:
java.lang.NoClassDefFoundError: javax/Persistenz/EntityListeners
hier können Sie sehen, wie es aussieht:
Wie lösen Sie dieses Problem?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hibernate verwendet SLF4J intern zu tun, seine eigene Protokollierung. Es ist eine Abstraktionsschicht auf der Oberseite der verschiedene logging-Implementierungen. Frameworks wie mit dieser Fassade, weil du in diesem Fall noch bleiben unabhängig von bestimmten Implementierungen. Sie können auch machen es mit log4j. Folgen Sie dieses tutorial zu machen, arbeiten zusammen.
Hibernate intern verwendet SLF4J für das logging. Lesen Sie die setup-Anleitung hier: http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#tutorial-firstapp-setup Sie brauchen, um
SLF4J jar
auf die build-und runtime-classpath.