【问题标题】:Error creating sessionFactory创建 sessionFactory 时出错
【发布时间】:2012-07-07 13:22:20
【问题描述】:

当我开始我的 Spring MVC 项目时,出现以下异常:

javax.servlet.ServletException: Servlet.init() for servlet appServlet threw exception

而最重要的是根本原因:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name
'sessionFactory' defined in ServletContext resource [/WEB-INF/spring/appServlet/servlet-context.xml]: 
Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError:     
org/hibernate/cfg/EJB3DTDEntityResolver

我查过这门课:http://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/cfg/EJB3DTDEntityResolver.html,这里是http://search.maven.org/#search%7Cga%7C1%7Cfc%3Aorg.hibernate.cfg.EJB3DTDEntityResolver 我发现它是休眠注释的一部分。但是我的 POM.xml 文件中有一些 Hibernate 依赖项:

    <!-- Hibernate -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>4.1.4.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-annotations</artifactId>
        <version>3.5.6-Final</version>
    </dependency>       
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>4.3.0.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate.common</groupId>
        <artifactId>hibernate-commons-annotations</artifactId>
        <version>4.0.1.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-envers</artifactId>
        <version>4.1.4.Final</version>
    </dependency>

我不知道我的项目出了什么问题。通常,当我在 Servlet Dispatcher 中声明此异常时会发生此异常:

<!-- Hibernate session factory -->      
<beans:bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

    <beans:property name="dataSource">
        <beans:ref bean="dataSource" />
    </beans:property>

    <beans:property name="hibernateProperties">
        <beans:props>
            <beans:prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</beans:prop>
            <beans:prop key="hibernate.show_sql">true</beans:prop>
        </beans:props>
    </beans:property>

    <beans:property name="annotatedClasses">
        <beans:list>
            <beans:value>hutter.pl.dao.Users</beans:value>                          
        </beans:list>
    </beans:property> 
</beans:bean>

<beans:bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <beans:property name="sessionFactory" ref="sessionFactory" />
</beans:bean>   
<!-- Hibernate session factory end -->

你能给我一些建议吗?

【问题讨论】:

    标签: spring hibernate maven spring-mvc


    【解决方案1】:

    hibernate-annotationshibernate-core since 3.6 的一部分

    【讨论】:

    • 我都有。你建议我这会引起冲突吗?
    • 当我从依赖项中删除休眠注释时,问题就消失了。谢谢。
    猜你喜欢
    • 2015-06-29
    • 1970-01-01
    • 2015-05-02
    • 1970-01-01
    • 2014-10-28
    • 2012-03-19
    • 2016-06-05
    • 2010-12-07
    • 2011-04-27
    相关资源
    最近更新 更多