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