参考网址:http://tang.bill.blog.163.com/blog/static/4402137920104171082490/
学习到Hibernate的二级缓存的时候,遇到下面的问题。经查询与测试之后,才知道都是因没有导入commons-logging.jar这个包的原因。
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.tangbill.test.CacheTest.addUser(CacheTest.java:22)
at com.tangbill.test.CacheTest.main(CacheTest.java:14)
Caused by: org.hibernate.HibernateException: could not instantiate RegionFactory [org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge]
at org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:412)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:271)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101)??
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325)
at com.tangbill.utils.MySqlConnection.<clinit>(MySqlConnection.java:13)
... 2 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.hibernate.cfg.SettingsFactory.createRegionFactory(SettingsFactory.java:407)
... 6 more
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at com.opensymphony.oscache.base.Config.<clinit>(Config.java:23)
at org.hibernate.cache.OSCacheProvider.<clinit>(OSCacheProvider.java:55)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge.<init>(RegionFactoryCacheProviderBridge.java:63)
... 11 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
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)
... 20 more