当前位置: 代码迷 >> J2EE >> struts2+ hibernate4 +spring4有关问题
  详细解决方案

struts2+ hibernate4 +spring4有关问题

热度:449   发布时间:2016-04-17 23:47:01.0
struts2+ hibernate4 +spring4问题求助


Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/service/jndi/JndiNameException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1553)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:681)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at com.bufoon.util.Util.main(Util.java:68)
Caused by: java.lang.NoClassDefFoundError: org/hibernate/service/jndi/JndiNameException


applicationContext.xml

<!-- session工厂 -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="configLocation" value="classpath:hibernate.cfg.xml"/>
<!-- 自动扫描注解方式配置的hibernate类文件 -->
<property name="packagesToScan">
<list>
<value>com.bufoon.entity<alue>
<st>
</property>
</bean>
------解决方案--------------------
这个是类没找到,也就是jar包问题。你hibernate用的是4点几
------解决方案--------------------
还有一种可能,就是你的服务器jre版本。系统jre、MyEclipse、中间件服务器jer必须一致。否则可能导致这种运行时java.lang.NoClassDefFoundError
------解决方案--------------------
你的jar包都加全了吗?
------解决方案--------------------
java.lang.NoClassDefFoundError: org/hibernate/service/jndi/JndiNameException 检查下hibernate Jar 中有没有这个class类
再就是2楼说的那种情况了,有可能是jdk版本,struts,spring以及log4j 等的版本不配套导致的
先检查下有没有那个class,然后检查配套jar包的匹配问题
------解决方案--------------------
org/hibernate/service/jndi/JndiNameException这个类应该在hibernate-core4.jar里,看你使用的jar是否是一个系列的版本。
------解决方案--------------------
spring是个大坑,别用为好
------解决方案--------------------
hibernate-core.jar这个jar用4.2试试
------解决方案--------------------
jar包弄进来了么  很有可能是jar包的版本不对
  相关解决方案