Caused by: java.lang.ClassNotFoundException: org.hibernate.service.jta.platform.spi.JtaPlatform错误的原因与解决办法



Caused by: java.lang.ClassNotFoundException: org.hibernate.service.jta.platform.spi.JtaPlatform错误的原因与解决办法。

1、错误描述

 


  1. 2014-7-12 22:08:01 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
  2. INFO: HHH000232: Schema update complete
  3. 2014-7-12 22:08:01 org.hibernate.internal.SessionFactoryImpl buildCurrentSessionContext
  4. ERROR: HHH000302: Unable to construct current session context [org.springframework.orm.hibernate4.SpringSessionContext]
  5. java.lang.reflect.InvocationTargetException
  6.     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  7.     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
  8.     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  9.     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
  10.     at org.hibernate.internal.SessionFactoryImpl.buildCurrentSessionContext(SessionFactoryImpl.java:1512)
  11.     at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:531)
  12.     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1857)
  13.     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1928)
  14.     at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:265)
  15.     at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:375)
  16.     at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:360)
  17.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1566)
  18.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1503)
  19.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
  20.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
  21.     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:299)
  22.     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
  23.     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:295)
  24.     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
  25.     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:646)
  26.     at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760)
  27.     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
  28.     at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
  29.     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
  30.     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
  31.     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
  32.     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
  33.     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  34.     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
  35.     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
  36.     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)
  37.     at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1229)
  38.     at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1875)
  39.     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
  40.     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
  41.     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
  42.     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
  43.     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
  44.     at java.lang.Thread.run(Thread.java:619)
  45. Caused by: java.lang.NoClassDefFoundError: org/hibernate/service/jta/platform/spi/JtaPlatform
  46.     at org.springframework.orm.hibernate4.SpringSessionContext.<init>(SpringSessionContext.java:56)
  47.     … 39 more
  48. Caused by: java.lang.ClassNotFoundException: org.hibernate.service.jta.platform.spi.JtaPlatform
  49.     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
  50.     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
  51.     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
  52.     … 40 more
  53. 2014-7-12 22:08:01 org.springframework.web.context.ContextLoader initWebApplicationContext

2、错误原因

     由于hibernate4.2中有“org.hibernate.service.jta.platform.spi.JtaPlatform”这个类,而hibernate4.3中没有这个类

 3、解决办法

     将hibernate4.3的所有jar换成hibernate4.2的jar