【问题标题】:Getting error NoClassDefFoundError after upgradting to Spring 3.2.4升级到 Spring 3.2.4 后出现错误 NoClassDefFoundError
【发布时间】:2013-11-04 23:13:53
【问题描述】:

我在 Spring 2.5 上使用 Hibernate3.jar 现在我已经升级到 Spring 3.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>

谢谢。

【问题讨论】:

  • 你在 sessionFactory bean 中的类是什么?
    更新了原帖。
  • 通常有 2 个可能导致此异常的原因:1)您错过了包含该类的 jar 或 2)您有 2 个不同版本的 jar。在类路径中检查一些旧的 spring jar。

标签: java spring hibernate spring-mvc hibernate-mapping


【解决方案1】:

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

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

【讨论】:

  • 我没有在休眠配置文件中使用注释。
  • 我仍然面临这个问题,请在这里帮助我。
  • 很抱歉这个问题,hibernate3.jar 在路径中吗?在 lib 文件夹中?
  • 我自己通过以下操作解决了这个问题,1. 删除了旧的 hibernate3.jar 和 hibernate-annotation.jar 并添加了两个新的 jars hibernate-commons-annotations-3.2.0.Final.jar hibernate-core-3.6.10.Final.jar 现在我的类路径中有以下与 spring 相关的 jar。
【解决方案2】:
  • 验证您的类路径中是否还有 hibernate3.jar
  • 确保您已删除旧 spring 2.5 jar 的依赖项。 (但即使有冲突,它也会是 NoClassDef 与 spring 类不休眠
  • 检查是否删除了 hibernate3.jar 所依赖的任何 jar。这可能不允许org/hibernate/context/CurrentSessionContext 进行初始化。 (堆栈跟踪中可能有一个ExceptionInInitializerError

我在这里列出了 NoClassDefFoundError 的可能原因,可能会对您有所帮助:

Debugging a NoClassDefFoundError

【讨论】:

    【解决方案3】:

    我通过执行以下操作自行解决了这个问题, 1. 移除旧的hibernate3.jar 和hibernate-annotation.jar 并添加两个新的jars

    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
    

    谢谢,

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签