刚刚学Hibernate3.3第一个例子就出错了
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 com.test.hibernate.first.ExportDB.main(ExportDB.java:10)
Caused by: java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 3 more
提示找不到java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
这个类
3.3自带的slf4j-api-1.5.2.jar里没有StaticLoggerBinder这个类
上网搜了搜,有的说增加slf4j-nop-1.5.6.jar
增加后出现
Exception in thread "main" java.lang.IllegalAccessError: tried to access field org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory
at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60)
at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:151)
at com.test.hibernate.first.ExportDB.main(ExportDB.java:10)
原因是这两个包内的类里都有一个
解决办法:详细见http://forum.hibernate.org/viewtopic.php?p=2400801
我就是按照上面的做的。
下载新的slf4j包 下载地址http://www.slf4j.org/download.html
删除slf4j-nop-1.5.6.jar和
hibernate3.3自带的slf4j-api-1.5.2.jar
添加slf4j-api-1.5.6.jar和
slf4j-log4j12-1.5.6.jar