2012-07-07 81 views
5

当我开始我的Spring MVC的项目我有以下异常:错误创建SessionFactory的

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 我发现它是hibernate-annotations的一部分。但我有一些Hibernate的依赖条件在我POM.xml文件:

<!-- 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调度器中声明了这个异常时:

<!-- 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 --> 

你能给我一些建议吗?

回答

9

hibernate-annotationshibernate-coresince 3.6

+1

都在我的一部分。你建议我可能会导致冲突? – woyaru 2012-07-07 08:03:08

+1

当我从依赖关系中删除hibernate-annotations时,问题已经消失。谢谢。 – woyaru 2012-07-07 10:10:27