struts2+ hibernate4 +spring4问题求助

五哥 2014-08-12 12:28:59


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>
...全文
293 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
五哥 2014-08-14
  • 打赏
  • 举报
回复
不好意思 ,结贴晚啦 ,问题解决, 解决步骤: 1、先测试在eclipse中的server是否运行正常 -->正常 ; 2、写一个测试类测试 所有配置文件的是否配置正常,也就是测试applicationContext.xml的配置是否正常 ,是否能插入数据库; 3、用maven打成war包,查看开发环境中的jar包和 war包中的jar是否有不一样,结果:基本相同 4、检查eclipse的maven插件的配置settings是否正常,maven的仓库指向了 maven的默认路径了,修改后,程序正常; 当然,这之后还是遇到蛮多问题的 ,经过不懈努力,程序查询数据库 然后登录,实现全注解方式(struts2+ hibernate4+spring4)。 开始新的学习... 谢谢各位朋友的热心回答,真心的谢谢!
五哥 2014-08-12
  • 打赏
  • 举报
回复
空闲时间玩玩,工作没用到
loveunittesting 2014-08-12
  • 打赏
  • 举报
回复
spring是个大坑,别用为好
五哥 2014-08-12
  • 打赏
  • 举报
回复
<!-- Spring --> <spring-framework.version>4.0.2.RELEASE</spring-framework.version> <aspectj.version>1.8.0</aspectj.version> <!-- Hibernate / JPA --> <!-- 与Spring4兼容 --> <hibernate.version>4.3.5.Final</hibernate.version> <!-- strutus 2 --> <struts2.version>2.3.16.3</struts2.version> <!-- Test --> <junit.version>4.11</junit.version>
五哥 2014-08-12
  • 打赏
  • 举报
回复
用maven管理jar的 ,从网上下的例子,可能是jdk的版本和 tomcat的jre不匹配
  • 打赏
  • 举报
回复
org/hibernate/service/jndi/JndiNameException这个类应该在hibernate-core4.jar里,看你使用的jar是否是一个系列的版本。
姜小白- 2014-08-12
  • 打赏
  • 举报
回复
java.lang.NoClassDefFoundError: org/hibernate/service/jndi/JndiNameException 检查下hibernate Jar 中有没有这个class类 再就是2楼说的那种情况了,有可能是jdk版本,struts,spring以及log4j 等的版本不配套导致的 先检查下有没有那个class,然后检查配套jar包的匹配问题
S117 2014-08-12
  • 打赏
  • 举报
回复
你的jar包都加全了吗?
innight 2014-08-12
  • 打赏
  • 举报
回复
还有一种可能,就是你的服务器jre版本。系统jre、MyEclipse、中间件服务器jer必须一致。否则可能导致这种运行时java.lang.NoClassDefFoundError
innight 2014-08-12
  • 打赏
  • 举报
回复
这个是类没找到,也就是jar包问题。你hibernate用的是4点几
  • 打赏
  • 举报
回复
jar包弄进来了么 很有可能是jar包的版本不对
innight 2014-08-12
  • 打赏
  • 举报
回复
hibernate-core.jar这个jar用4.2试试

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧