在ServletContext资源中定义名称为'entityManagerFactory'的bean时出错[/WEB

编程入门 行业动态 更新时间:2024-10-27 22:34:39
本文介绍了在ServletContext资源中定义名称为'entityManagerFactory'的bean时出错[/WEB-INF/hibernateContext.xml]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我在上下文初始化时遇到了问题,每次启动服务器时都会出现EntityManagerFactory问题。

我检查了以前与相关的大多数问题标签和关键字,但没有任何工作对我的问题。

这是日志。

SEVERE:上下文初始化失败 org.springframework.beans.factory.BeanCreationException:在ServletContext资源中定义名称为'entityManagerFactory'的bean时出错[/WEB-INF/hibernateContext.xml]:无法创建内部bean' org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter#7b0aa31f'类型为[org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter],同时设置bean属性'jpaVendorAdapter';嵌套异常是org.springframework.beans.factory.BeanCreationException:在ServletContext资源[/WEB-INF/hibernateContext.xml]中定义的名称为'org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter#7b0aa31f'的bean创建错误:实例化豆失败;嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化bean类[org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter]:构造函数抛出异常;嵌套的例外是java.lang.NoClassDefFoundError:组织/休眠/发动机/ JNDI / JndiException 在org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:282)在组织。在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:121)(AbstractAutowireCapableBeanFactory.java:1393)。在组织。 springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522)。在组织。 springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)在org.springframework上。 beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:295)在org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)在org.springframework .beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) at org.springframework .context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1117) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:922) at org.springframework.context.support .AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389) at org.springframework.web.context.Con textLoader.initWebApplicationContext(ContextLoader.java:294) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) at org.apache.catalina.core.StandardContext.listenerStart( StandardContext.java:4939) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java: at org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java: at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java .util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)$ b $在java.lang.Thread.run(Thread.java:724)导致:org.springframework.beans.factory .BeanCreationExce ption:在ServletContext资源中定义名为'org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter#7b0aa31f'的bean时出错[/WEB-INF/hibernateContext.xml]:Bean实例化失败;嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化bean类[org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter]:构造函数抛出异常;嵌套的异常是java.lang.NoClassDefFoundError:org / hibernate / engine / jndi / JndiException at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1013) at org。 springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:959)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:490)。在组织。 springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:271) ... 24 more 引起:org.springframework.beans.BeanInstantiationException:无法实例化bean类[org.springframework.orm.jpa.vendor.HibernateJpaVen dorAdapter]:构造函数抛出异常;嵌套的异常是java.lang.NoClassDefFoundError:org.springframework.beans上的org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163)中的org / hibernate / engine / jndi / JndiException 。 factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1006) ... 28 more 导致:java.lang.NoClassDefFoundError:org / hibernate / engine / jndi / JndiException $ b在java.lang.Class.forName0(本地方法)b $ b在java.lang.Class.forName(Class .java:270)在org.jboss.logging.Logger $ 1.run(Logger.java:2252)$ b $在java.security.AccessController.doPrivileged(本地方法)在org。 jboss.logging.Logger.getMessageLogger(Logger.java:2227)在org.jboss.logging.Logger.getMessageLogger(Logger.java:2214)在org.hibernate.jpa.internal.HEMLogging。我(HEMLogging.java:45) at org.hibernate.jpa.internal.HEMLogging.messageLogger(HEMLogging.java:41) at org.hibernate.ejb.HibernatePersistence。< clinit>(HibernatePersistence .java:46) at org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter。< init>(HibernateJpaVendorAdapter.java:57) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)。在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)处java.lang.reflect.Constructor中sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)。 newInstance(Constructor.java:526) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148) ... 30 more 引起:java.lang.ClassNotFoundException :org.hibernate.engine.jndi.JndiException at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) ... 45 more 十一月23,2015 1:23: 18上午org.apache.catalina.core.StandardContext listenerStart SEVERE:发送上下文初始化事件给类的监听器实例的异常org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException :在ServletContext资源[/WEB-INF/hibernateContext.xml]中定义名称为'entityManagerFactory'的Bean时创建错误:无法创建[org.springframework类型的内部bean'org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter#7b0aa31f'。 orm.jpa.vendor.HibernateJpaVendorAdapter],同时设置bean属性'jpaVendorAdapter';嵌套异常是org.springframework.beans.factory.BeanCreationException:在ServletContext资源[/WEB-INF/hibernateContext.xml]中定义的名称为'org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter#7b0aa31f'的bean创建错误:实例化豆失败;嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化bean类[org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter]:构造函数抛出异常;嵌套的例外是java.lang.NoClassDefFoundError:组织/休眠/发动机/ JNDI / JndiException 在org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:282)在组织。在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:121)(AbstractAutowireCapableBeanFactory.java:1393)。在组织。 springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522)。在组织。 springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)在org.springframework上。 beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:295)在org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)在org.springframework .beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) at org.springframework .context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1117) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:922) at org.springframework.context.support .AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389) at org.springframework.web.context.Con textLoader.initWebApplicationContext(ContextLoader.java:294) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) at org.apache.catalina.core.StandardContext.listenerStart( StandardContext.java:4939) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java: at org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java: at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java .util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)$ b $在java.lang.Thread.run(Thread.java:724)导致:org.springframework.beans.factory .BeanCreationExce ption:在ServletContext资源中定义名为'org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter#7b0aa31f'的bean时出错[/WEB-INF/hibernateContext.xml]:Bean实例化失败;嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化bean类[org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter]:构造函数抛出异常;嵌套的异常是java.lang.NoClassDefFoundError:org / hibernate / engine / jndi / JndiException at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1013) at org。 springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:959)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:490)。在组织。 springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:271) ... 24 more 引起:org.springframework.beans.BeanInstantiationException:无法实例化bean类[org.springframework.orm.jpa.vendor.HibernateJpaVen dorAdapter]:构造函数抛出异常;嵌套的异常是java.lang.NoClassDefFoundError:org.springframework.beans上的org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163)中的org / hibernate / engine / jndi / JndiException 。 factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1006) ... 28 more 导致:java.lang.NoClassDefFoundError:org / hibernate / engine / jndi / JndiException $ b在java.lang.Class.forName0(本地方法)b $ b在java.lang.Class.forName(Class .java:270)在org.jboss.logging.Logger $ 1.run(Logger.java:2252)$ b $在java.security.AccessController.doPrivileged(本地方法)在org。 jboss.logging.Logger.getMessageLogger(Logger.java:2227)在org.jboss.logging.Logger.getMessageLogger(Logger.java:2214)在org.hibernate.jpa.internal.HEMLogging。我(HEMLogging.java:45) at org.hibernate.jpa.internal.HEMLogging.messageLogger(HEMLogging.java:41) at org.hibernate.ejb.HibernatePersistence。< clinit>(HibernatePersistence .java:46) at org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter。< init>(HibernateJpaVendorAdapter.java:57) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)。在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)处java.lang.reflect.Constructor中sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)。 newInstance(Constructor.java:526) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148) ... 30 more 引起:java.lang.ClassNotFoundException :org.hibernate.engine.jndi.JndiException at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) ... 45 more

以下是我的配置文件。

hibernateContext.xml

< beans xmlns =www.springframework/schema/beans xmlns:xsi =www.w3/2001/ XMLSchema实例 xmlns:context =www.springframework/schema/context xmlns:p =www.springframework/schema/p xmlns:tx =www.springframework/schema/tx xsi:schemaLocation =www.springframework/schema/beans http ://www.springframework/schema/beans/spring-beans-2.5.xsd www.springframework/schema/context www.springframework/schema/context /spring-context-2.5.xsd www.springframework/schema/tx www.springframework/schema/tx/spring-tx-2.0.xsd\"> <! - 自动检测DAO - > < context:component-scan base-package =levelup.world.dao.hibernate/> < context:property-placeholder location =WEB-INF / jdbc.properties/> < bean id =dataSourceclass =org.springframework.jdbc.datasource.DriverManagerDataSource> < property name =driverClassNamevalue =$ {jdbc.driverClassName}/> < property name =urlvalue =$ {jdbc.databaseurl}/> < property name =usernamevalue =$ {jdbc.username}/> < property name =passwordvalue =$ {jdbc.username}/> < / bean> pom.xml

< project xmlns =maven.apache/POM/4.0.0xmlns:xsi =www.w3/2001/XMLSchema-instancexsi :schemaLocation =maven.apache/POM/4.0.0 maven.apache/xsd/maven-4.0.0.xsd\"> < modelVersion> 4.0.0< / modelVersion> < groupId>项目< / groupId> < artifactId>项目< / artifactId> < version> 0.0.1-SNAPSHOT< / version> <包装>战争< / packaging> <属性> < hibernate.version> 4.2.0.Final< /hibernate.version> < mysql.connector.version> 5.1.21< /mysql.connector.version> < spring.version> 3.2.2.RELEASE< /spring.version> < / properties> <依赖关系> < dependency> < groupId> cglib< / groupId> < artifactId> cglib< / artifactId> < version> $ {cglib.version}< / version> < /依赖关系> <! - 与数据库相关的依赖关系 - > < dependency> < groupId> org.hibernatemon< / groupId> < artifactId> hibernate-commons-annotations< / artifactId> < version> 4.0.4.Final< / version> < /依赖关系> < dependency> < groupId> org.hibernate< / groupId> < artifactId> hibernate-core< / artifactId> < version> $ {hibernate.version}< / version> < /依赖关系> < dependency> < groupId> org.hibernate< / groupId> < artifactId> hibernate< / artifactId> < version> 3.2.3.ga< / version> < /依赖关系> < dependency> < groupId> org.hibernate< / groupId> < artifactId> hibernate-entitymanager< / artifactId> < version> 4.3.5.Final< / version> < /依赖关系> < dependency> < groupId> mysql< / groupId> < artifactId> mysql-connector-java< / artifactId> < version> $ {mysql.connector.version}< / version> < /依赖关系> < dependency> < groupId> commons-dbcp< / groupId> < artifactId> commons-dbcp< / artifactId> < version> 1.4< / version> < /依赖关系> < dependency> < groupId> javassist< / groupId> < artifactId> javassist< / artifactId> < version> 3.12.1.GA< / version> < /依赖关系> < dependency> < groupId> org.hibernate.javax.persistence< / groupId> < artifactId> hibernate-jpa-2.0-api< / artifactId> < version> 1.0.1.Final< / version> < /依赖关系> <! - - SPRING - > < dependency> < groupId> org.springframework< / groupId> < artifactId> spring-webmvc< / artifactId> < version> $ {spring.version}< / version> < /依赖关系> < dependency> < groupId> org.springframework< / groupId> < artifactId> spring-core< / artifactId> < version> $ {spring.version}< / version> < /依赖关系> < dependency> < groupId> org.springframework< / groupId> < artifactId> spring-tx< / artifactId> < version> $ {spring.version}< / version> < /依赖关系> < dependency> < groupId> org.springframework< / groupId> < artifactId> spring-jdbc< / artifactId> < version> $ {spring.version}< / version> < /依赖关系> < dependency> < groupId> org.springframework< / groupId> < artifactId> spring-orm< / artifactId> < version> 3.2.5.RELEASE< / version> < /依赖关系> <! - CGLIB需要处理@Configuration类 - > < dependency> < groupId> cglib< / groupId> < artifactId> cglib< / artifactId> < version> 2.2.2< / version> < /依赖关系> <! - Servlet API和JSTL - > < dependency> < groupId> javax.servlet< / groupId> < artifactId> javax.servlet-api< / artifactId> < version> 3.0.1< / version> < scope>提供< / scope> < /依赖关系> < dependency> < groupId> jstl< / groupId> < artifactId> jstl< / artifactId> < version> 1.2< / version> < /依赖关系> <! - Test - > < dependency> < groupId> junit< / groupId> < artifactId> junit< / artifactId> < version> 4.7< / version> < scope> test< / scope> < /依赖关系> < dependency> < groupId> org.springframework< / groupId> < artifactId> spring-test< / artifactId> < version> $ {spring.version}< / version> < scope> test< / scope> < /依赖关系> < dependency> < groupId> org.springframework< / groupId> < artifactId> spring-test-mvc< / artifactId> < version> 1.0.0.M1< / version> < scope> test< / scope> < /依赖关系> < /依赖关系> < repositories> < repository> < id> spring-maven-milestone< / id> < name> Spring Maven里程碑存储库< /名称> < url> http://maven.springframework/milestone< / url> < / repository> < / repositories> < build> < finalName>专案< / finalName> < plugins> < plugin> < artifactId> maven-compiler-plugin< / artifactId> < version> 2.3.2< / version> <配置> < source> 1.7< / source> < target> 1.7< / target> < / configuration> < / plugin> < / plugins> < / build> < / project>

感谢您提前致谢:

解决方案这是你的真正问题 java.lang.NoClassDefFoundError:org / hibernate / engine / jndi / JndiException 这意味着你正在混合不同的 hibernate-core 和 hibernate-entitymanager 版本。

你的pom是你乱七八糟的证据。请改变您在mysql之前的依赖关系,如下所示:

< dependency> < groupId> org.hibernatemon< / groupId> < artifactId> hibernate-commons-annotations< / artifactId> < version> $ {hibernate.version}< / version> < /依赖关系> < dependency> < groupId> org.hibernate< / groupId> < artifactId> hibernate-core< / artifactId> < version> $ {hibernate.version}< / version> < /依赖关系> < dependency> < groupId> org.hibernate< / groupId> < artifactId> hibernate-entitymanager< / artifactId> < version> $ {hibernate.version}< / version> < /依赖关系>

移除您的依赖项:

<依赖性> < groupId> org.hibernate< / groupId> < artifactId> hibernate< / artifactId> < version> 3.2.3.ga< / version> < /依赖关系>

然后重试。

I had problems with context initialization, that every time I start my server there'll be a EntityManagerFactory problem.

I checked most of the questions previously asked with related tags and keyword yet nothing works on my problem.

Here's the log.

SEVERE: Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/hibernateContext.xml]: Cannot create inner bean 'org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter#7b0aa31f' of type [org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter] while setting bean property 'jpaVendorAdapter'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter#7b0aa31f' defined in ServletContext resource [/WEB-INF/hibernateContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/hibernate/engine/jndi/JndiException at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:282) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:121) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1117) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:922) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter#7b0aa31f' defined in ServletContext resource [/WEB-INF/hibernateContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/hibernate/engine/jndi/JndiException at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1013) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:959) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:490) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:271) ... 24 more Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/hibernate/engine/jndi/JndiException at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1006) ... 28 more Caused by: java.lang.NoClassDefFoundError: org/hibernate/engine/jndi/JndiException at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:270) at org.jboss.logging.Logger$1.run(Logger.java:2252) at java.security.AccessController.doPrivileged(Native Method) at org.jboss.logging.Logger.getMessageLogger(Logger.java:2227) at org.jboss.logging.Logger.getMessageLogger(Logger.java:2214) at org.hibernate.jpa.internal.HEMLogging.messageLogger(HEMLogging.java:45) at org.hibernate.jpa.internal.HEMLogging.messageLogger(HEMLogging.java:41) at org.hibernate.ejb.HibernatePersistence.<clinit>(HibernatePersistence.java:46) at org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter.<init>(HibernateJpaVendorAdapter.java:57) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148) ... 30 more Caused by: java.lang.ClassNotFoundException: org.hibernate.engine.jndi.JndiException at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) ... 45 more 十一月 23, 2015 1:23:18 下午 org.apache.catalina.core.StandardContext listenerStart SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/hibernateContext.xml]: Cannot create inner bean 'org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter#7b0aa31f' of type [org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter] while setting bean property 'jpaVendorAdapter'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter#7b0aa31f' defined in ServletContext resource [/WEB-INF/hibernateContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/hibernate/engine/jndi/JndiException at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:282) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:121) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1117) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:922) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter#7b0aa31f' defined in ServletContext resource [/WEB-INF/hibernateContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/hibernate/engine/jndi/JndiException at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1013) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:959) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:490) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:271) ... 24 more Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/hibernate/engine/jndi/JndiException at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1006) ... 28 more Caused by: java.lang.NoClassDefFoundError: org/hibernate/engine/jndi/JndiException at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:270) at org.jboss.logging.Logger$1.run(Logger.java:2252) at java.security.AccessController.doPrivileged(Native Method) at org.jboss.logging.Logger.getMessageLogger(Logger.java:2227) at org.jboss.logging.Logger.getMessageLogger(Logger.java:2214) at org.hibernate.jpa.internal.HEMLogging.messageLogger(HEMLogging.java:45) at org.hibernate.jpa.internal.HEMLogging.messageLogger(HEMLogging.java:41) at org.hibernate.ejb.HibernatePersistence.<clinit>(HibernatePersistence.java:46) at org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter.<init>(HibernateJpaVendorAdapter.java:57) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148) ... 30 more Caused by: java.lang.ClassNotFoundException: org.hibernate.engine.jndi.JndiException at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) ... 45 more

and here's my configuraton files.

hibernateContext.xml

<beans xmlns="www.springframework/schema/beans" xmlns:xsi="www.w3/2001/XMLSchema-instance" xmlns:context="www.springframework/schema/context" xmlns:p="www.springframework/schema/p" xmlns:tx="www.springframework/schema/tx" xsi:schemaLocation="www.springframework/schema/beans www.springframework/schema/beans/spring-beans-2.5.xsd www.springframework/schema/context www.springframework/schema/context/spring-context-2.5.xsd www.springframework/schema/tx www.springframework/schema/tx/spring-tx-2.0.xsd"> <!-- Auto-detect DAOs --> <context:component-scan base-package="levelup.world.dao.hibernate"/> <context:property-placeholder location="WEB-INF/jdbc.properties"/> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.databaseurl}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.username}" /> </bean> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" p:dataSource-ref="dataSource" p:persistenceUnitName="persistenceUnit"> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" p:database="MYSQL" p:databasePlatform="org.hibernate.dialect.MySQL5Dialect" p:showSql="true"/> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </bean> <tx:annotation-driven transaction-manager="transactionManager" /> </beans>

pom.xml

<project xmlns="maven.apache/POM/4.0.0" xmlns:xsi="www.w3/2001/XMLSchema-instance" xsi:schemaLocation="maven.apache/POM/4.0.0 maven.apache/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>Project</groupId> <artifactId>Project</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <properties> <hibernate.version>4.2.0.Final</hibernate.version> <mysql.connector.version>5.1.21</mysql.connector.version> <spring.version>3.2.2.RELEASE</spring.version> </properties> <dependencies> <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>${cglib.version}</version> </dependency> <!-- DB related dependencies --> <dependency> <groupId>org.hibernatemon</groupId> <artifactId>hibernate-commons-annotations</artifactId> <version>4.0.4.Final</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${hibernate.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate</artifactId> <version>3.2.3.ga</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>4.3.5.Final</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.connector.version}</version> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>javassist</groupId> <artifactId>javassist</artifactId> <version>3.12.1.GA</version> </dependency> <dependency> <groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.0-api</artifactId> <version>1.0.1.Final</version> </dependency> <!-- SPRING --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>3.2.5.RELEASE</version> </dependency> <!-- CGLIB is required to process @Configuration classes --> <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>2.2.2</version> </dependency> <!-- Servlet API and JSTL --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- Test --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.7</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test-mvc</artifactId> <version>1.0.0.M1</version> <scope>test</scope> </dependency> </dependencies> <repositories> <repository> <id>spring-maven-milestone</id> <name>Spring Maven Milestone Repository</name> <url>maven.springframework/milestone</url> </repository> </repositories> <build> <finalName>Project</finalName> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build> </project>

Thanks in advance.:)

解决方案

This is your real problem java.lang.NoClassDefFoundError: org/hibernate/engine/jndi/JndiException that means you are mixing different hibernate-core and hibernate-entitymanager versions.

And your pom is an evidence of your mess. Please, change your dependencies previous to mysql as follows:

<dependency> <groupId>org.hibernatemon</groupId> <artifactId>hibernate-commons-annotations</artifactId> <version>${hibernate.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${hibernate.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>${hibernate.version}</version> </dependency>

Remove your dependency:

<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate</artifactId> <version>3.2.3.ga</version> </dependency>

And try again.

更多推荐

在ServletContext资源中定义名称为'entityManagerFactory'的bean时出错[/WEB

本文发布于:2023-10-28 17:44:14,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:定义   资源   ServletContext   WEB   bean

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!