Java 升级到Spring 3.2.4后获取错误NoClassDefFoundError

Java 升级到Spring 3.2.4后获取错误NoClassDefFoundError,java,spring,hibernate,spring-mvc,hibernate-mapping,Java,Spring,Hibernate,Spring Mvc,Hibernate Mapping,我使用的是Spring2.5,使用的是Hibernate3.jar,现在我已经升级到Spring3.2.4,仍然使用Hibernate3.jar 但在应用程序加载时,我遇到以下错误,如果我遗漏了什么,请帮助我 2013-10-25 23:20:19,513 ERROR [org.springframework.web.servlet.DispatcherServlet] - Context initialization failed org.springframework.beans.facto

我使用的是Spring2.5,使用的是Hibernate3.jar,现在我已经升级到Spring3.2.4,仍然使用Hibernate3.jar 但在应用程序加载时,我遇到以下错误,如果我遗漏了什么,请帮助我

2013-10-25 23:20:19,513 ERROR [org.springframework.web.servlet.DispatcherServlet] - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [com/eam/deploy/tfcc-admin.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/context/CurrentSessionContext
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1482)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
    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)
我在lib文件夹中添加了以下jar文件

spring-aop-3.2.4.RELEASE.jar
spring-aspects-3.2.4.RELEASE.jar
spring-beans-3.2.4.RELEASE.jar
spring-context-3.2.4.RELEASE.jar
spring-context-support-3.2.4.RELEASE.jar
spring-core-3.2.4.RELEASE.jar
spring-expression-3.2.4.RELEASE.jar
spring-jdbc-3.2.4.RELEASE.jar
spring-orm-3.2.4.RELEASE.jar
spring-tx-3.2.4.RELEASE.jar
spring-web-3.2.4.RELEASE.jar
spring-webmvc-3.2.4.RELEASE.jar
SessionFactoryBean配置:

<bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="mappingResources">
            <list>
                <value>com/eam/hibernate/User.hbm.xml</value>
                <value>com/eam/hibernate/Branch.hbm.xml</value>
                <value>com/eam/hibernate/Address.hbm.xml</value>
            </list>
        </property>
    </bean>

com/eam/hibernate/User.hbm.xml
com/eam/hibernate/Branch.hbm.xml
com/eam/hibernate/Address.hbm.xml

谢谢。

对不起,我现在找不到相关信息,但我对此事记忆犹新。 尝试将其替换为:

class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

对不起,我现在找不到相关信息,但我对此有记忆。 尝试将其替换为:

class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
  • 验证类路径中是否还有hibernate3.jar
  • 确保已删除旧Spring2.5JAR的依赖项。(但即使发生冲突,NoClassDef也会与spring类而不是hibernate类发生冲突
  • 检查是否删除了hibernate3.jar所依赖的任何jar。这可能不允许
    org/hibernate/context/CurrentSessionContext
    进行初始化。(stacktrace中可能存在
    ExceptionInInitializeError
我在这里列出了NoClassDefFoundError的可能原因,可以帮助您:

  • 验证类路径中是否还有hibernate3.jar
  • 确保您已经删除了旧的Spring2.5JAR的依赖项(但即使发生冲突,NoClassDef也会与spring类而不是hibernate发生冲突)
  • 检查是否删除了hibernate3.jar所依赖的任何jar。这可能不允许
    org/hibernate/context/CurrentSessionContext
    进行初始化。(stacktrace中可能存在
    ExceptionInInitializeError
我在这里列出了NoClassDefFoundError的可能原因,可以帮助您:


我通过做以下事情自己解决了这个问题, 1.删除了旧的hibernate3.jar和hibernate-annotation.jar,并添加了两个新的jar

hibernate-commons-annotations-3.2.0.Final.jar
hibernate-core-3.6.10.Final.jar
persistence-api-1.0.jar
现在我的类路径中有以下与spring相关的JAR

spring-aop-3.2.4.RELEASE.jar
spring-aspects-3.2.4.RELEASE.jar
spring-beans-3.2.4.RELEASE.jar
spring-context-3.2.4.RELEASE.jar
spring-context-support-3.2.4.RELEASE.jar
spring-core-3.2.4.RELEASE.jar
spring-expression-3.2.4.RELEASE.jar
spring-jdbc-3.2.4.RELEASE.jar
spring-orm-3.2.4.RELEASE.jar
spring-tx-3.2.4.RELEASE.jar
spring-web-3.2.4.RELEASE.jar
spring-webmvc-3.2.4.RELEASE.jar

谢谢,

我通过做以下事情自己解决了这个问题, 1.删除了旧的hibernate3.jar和hibernate-annotation.jar,并添加了两个新的jar

hibernate-commons-annotations-3.2.0.Final.jar
hibernate-core-3.6.10.Final.jar
persistence-api-1.0.jar
现在我的类路径中有以下与spring相关的JAR

spring-aop-3.2.4.RELEASE.jar
spring-aspects-3.2.4.RELEASE.jar
spring-beans-3.2.4.RELEASE.jar
spring-context-3.2.4.RELEASE.jar
spring-context-support-3.2.4.RELEASE.jar
spring-core-3.2.4.RELEASE.jar
spring-expression-3.2.4.RELEASE.jar
spring-jdbc-3.2.4.RELEASE.jar
spring-orm-3.2.4.RELEASE.jar
spring-tx-3.2.4.RELEASE.jar
spring-web-3.2.4.RELEASE.jar
spring-webmvc-3.2.4.RELEASE.jar

谢谢,

sessionFactory bean中的类是什么?更新了原始帖子。出现此异常通常有两个可能的原因:1)您错过了包含该类的jar;2)您有两个版本不同的jar。在类路径中检查一些旧的spring jar。您在SessionFactorybean中的类是什么?更新了原始帖子。通常有两个可能的原因导致此异常:1)您错过了包含类的jar,或者2)您有两个版本不同的jar。在类路径中检查一些旧的spring jar。我没有在hibernate配置文件中使用注释。我仍然面临这个问题,请在这里帮助我。很抱歉这个假问题,hibernate3.jar在路径中吗?在lib文件夹中?我通过做以下事情自己解决了这个问题,1。删除了旧的hibernate3.jar和hibernate-annotation.jar,并添加了两个新的jar hibernate-commons-annotations-3.2.0.Final.jar hibernate-core-3.6.10.Final.jar,现在我的类路径中有以下与spring相关的jar。我没有在hibernate配置文件中使用注释。我仍然面临这个问题,请在这里帮助我。抱歉这个假问题,hibernate3.jar是否在路径中?在lib文件夹中?我通过做以下事情自己解决了这个问题,1。删除了旧的hibernate3.jar和hibernate-annotation.jar,并添加了两个新的jar-hibernate-commons-annotations-3.2.0.Final.jar-hibernate-core-3.6.10.Final.jar,现在我的类路径中有以下与spring相关的jar。