gpt4 book ai didi

java - hibernate - java.lang.NoClassDefFoundError : org/slf4j/LoggerFactory

转载 作者:行者123 更新时间:2023-12-01 13:48:17 30 4
gpt4 key购买 nike

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

我在这个项目中使用 log4jlog4j.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构建的,你可以构建文件 see here .

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

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

schemaexport error

但是我没有使用slf4j为什么会出现这种情况?

这是我的 lib 文件夹的内容,其中包含它使用的所有 jar:

lib struckture

我不明白为什么会发生这种情况?

这是更好的项目结构:

project struckture

编辑:

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

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

您可以在这里看到它的外观:

entity listeners

如何解决这个问题?

最佳答案

Hibernate 使用SLF4J在内部进行自己的日志记录。它是不同日志记录实现之上的抽象层。框架喜欢使用这个外观,因为在这种情况下,您仍然独立于某些实现。您还可以使其与 log4j 一起使用。关注 this tutorial使其协同工作。

关于java - hibernate - java.lang.NoClassDefFoundError : org/slf4j/LoggerFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20177833/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com