关于SLF4J: Failed to load class的问题及解决(博客开篇)

    这几天一直在学习JTA,考虑到之前用的Hibernate 3.1版本有些老了,就下载了最新的Hibernate Core 3.3.1GA,Hibernate Annotation 3.4.0GA和Hibernate Entity Manager 3.4.0GA。在MyEclipse中导入相关的包,代码编译的时候完全没问题,直到运行的时候,提示:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
	at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60)
	at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:151)
	at org.hibernate.ejb.Ejb3Configuration.<clinit>(Ejb3Configuration.java:107)
	at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:124)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60)
	at com.jpa.util.JPAUtil.<clinit>(JPAUtil.java:18)
	at com.jpa.JPATest.addSystemUser(JPATest.java:34)
	at com.jpa.JPATest.main(JPATest.java:27)

 

    提示信息中多次提到SLF4J,google了一下,才发现这是现在的Hibernate使用SLF4J API记录日志,所以在Hibernate的lib中,不再提供Log4J的包,而大部分框架依然使用Log4J记录日志,这样导致了兼容性问题。

    解决办法,两步:一、在编译路径中添加Log4J的包,比如我一直在用的Log4J 1.2.14;二、再添加一个叫做slf4j-log4j12 1.5.2的包进行转换,注意到这里的log4j12,可能对应的是log4j 1.2版本。解决!

 

    本文部分内容参考:http://bbs.chinaunix.net/viewthread.php?tid=1266419

    slf4j-log4j12 API可到以下地址下载:http://mirrors.ibiblio.org/pub/mirrors/maven2/org/slf4j/slf4j-log4j12/1.5.2/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值