Java SpringMVC项目不能使用Hibernate

Java SpringMVC项目不能使用Hibernate,java,eclipse,spring,hibernate,spring-mvc,Java,Eclipse,Spring,Hibernate,Spring Mvc,我想用Hibernate构建一个Spring MVC项目 我使用的IDE是Eclipse4.4.2(Luna),我安装了这个插件 我创建的项目是Spring项目Spring MVC项目 下面是我添加的外部罐子: antlr-2.7.7.jar dom4j-1.6.1.jar hibernate-commons-annotations-4.0.5.Final.jar hibernate-core-4.3.9.Final.jar hibernate-jpa-2.1-api-1.0.0.Final

我想用Hibernate构建一个Spring MVC项目

我使用的IDE是Eclipse4.4.2(Luna),我安装了这个插件

我创建的项目是Spring项目Spring MVC项目

下面是我添加的外部罐子:

  • antlr-2.7.7.jar
  • dom4j-1.6.1.jar
  • hibernate-commons-annotations-4.0.5.Final.jar
  • hibernate-core-4.3.9.Final.jar
  • hibernate-jpa-2.1-api-1.0.0.Final.jar
  • jandex-1.1.0.Final.jar
  • javassist-3.18.1-GA.jar
  • jboss-logging-3.1.3.GA.jar
  • jboss-logging-annotations-1.2.0.Beta1.jar
  • jboss-transaction-api_1.2_spec-1.0.0.Final.jar
  • mysql-connector-java-5.0.8-bin.jar
然后,我将数据库的细节添加到/src/main/webapp/WEB-INF/spring/appServlet/servlet context.xml


但是,它会显示错误消息:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/spring/appServlet/servlet-context.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.jdbc.datasource.DriverManagerDataSource]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory


java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    org.springframework.jdbc.datasource.AbstractDataSource.<init>(AbstractDataSource.java:37)
    org.springframework.jdbc.datasource.DriverManagerDataSource.<init>(DriverManagerDataSource.java:87)
org.springframework.beans.factory.BeanCreationException:创建名为“dataSource”的bean时出错,该名称在ServletContext资源[/WEB-INF/spring/appServlet/servlet context.xml]中定义:bean实例化失败;嵌套异常为org.springframework.beans.BeanInstantiationException:无法实例化bean类[org.springframework.jdbc.datasource.driverManager数据源]:构造函数引发异常;嵌套的异常是java.lang.NoClassDefFoundError:org/apache/commons/logging/LogFactory
java.lang.NoClassDefFoundError:org/apache/commons/logging/LogFactory
org.springframework.jdbc.datasource.AbstractDataSource.(AbstractDataSource.java:37)
org.springframework.jdbc.datasource.driverManager数据源。(driverManager数据源.java:87)
由于无法修复,我尝试编写hibernate.cfg.xml,但不知道该文件应该放在哪里

我想知道如何设置bean,让我的项目可以使用Hibernate以及如何在MVC项目中使用Hibernate的过渡方式(Hibernate.cfg.xml)


5月19日新增

我找到了解决办法

这是因为maven没有加载hibernate。因此,在将以下代码添加到pom.xml之后,它就可以工作了:


org.hibernate
休眠实体管理器‌​
3.6.0.1最终版本
组织。‌​冬眠
冬眠核心
3.6.0.1最终版本
com.h2数据库
氢
1.3.156
org.spring‌​框架
SpringJDBC
4.0.6.1发布

您的错误与类路径中缺少库有关。即:

org.apache.commons.logging

首先尝试修复该问题,然后告知问题是否仍然存在。

stacktrace说您缺少LogFactory,这是Apache Commons日志记录的一部分。我看不到它包含在你的外部罐子里

对于hibernate的过渡方式,请创建hibernate.cfg.xml配置文件,并将其放置在应用程序类路径的根目录中。 XML配置文件必须符合Hibernate 3配置DTD,该DTD可从中获得


是关于它的教程。

原始项目已经包含了它。在Maven中,依赖项有jcl-over-slf4j-1.6.6.jar@我们可以看看在pom.xml中添加日志依赖项的位置吗?(我在这里评论,上面不能评论:/)我没有为pom.xml更改任何内容。我已经把我的源代码上传到谷歌硬盘。(链接1是主机视图,所以可能需要登录才能查看。)您能否尝试精确地计算log4J依赖项的运行时,并查看它是否会像他们所说的那样发生更改:
log4jlog4j1.2.15。。。运行时
?我试过了,但仍然显示了相同的错误消息。然后,它似乎真的是commons logging 1.1.1,它在maven依赖项中缺失了。jcl-over-slf4j-1.6.6.jar可能不完整,请尝试将commons logging 1.1.1
commons logging commons logging
添加到pom.xml中。我有一个项目与您的项目和这个项目具有相同的依赖关系。缺少
commons日志记录
jar。尝试在类路径中添加
commons-logging-1.1.1.jar