繁体   English   中英

休眠-java.lang.NoClassDefFoundError:org / slf4j / LoggerFactory

[英]Hibernate - java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory

我试图使用hibernate和HSQLDB运行简单的程序。

我使用log4j这个项目与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

所有都是用Ant构建的,构建文件可以在这里看到

但是,当我运行schemaexport目标时,遇到了下一个错误:

BUILD FAILED
/home/nazar_art/workspace/Persistance/build.xml:64: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory

schemaexport错误

但是我没有用slf4j为什么会这样?

这是我使用的所有jars的lib文件夹的内容:

lib罢工

我不知道为什么会这样?

这是更好的项目结构:

项目计划

编辑:

我添加了slf4j-api-1.6.1.jarslf4j-log4j12-1.6.1.jar但它抛出:

失败/home/nazar_art/workspace/Persistance/build.xml:64:java.lang.NoClassDefFoundError:javax / persistence / EntityListeners

您可以在这里看到外观:

实体侦听器

如何解决这个麻烦?

Hibernate在内部使用SLF4J进行自己的日志记录。 它是不同日志记录实现之上的抽象层。 框架喜欢使用该外观,因为在这种情况下,您仍然可以独立于某些实现。 您也可以使其与log4j一起使用。 请按照本教程进行操作。

Hibernate在内部使用SLF4J进行日志记录。 在此处阅读设置说明: http : //docs.jboss.org/hibernate/core/3.6/reference/zh-CN/html_single/#tutorial-firstapp-setup您需要在构建和运行时类路径上保留SLF4J jar

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM