当前位置: 首页 > 面试题库 >

java.lang.NoSuchMethodError:org.hibernate.SessionFactory.openSession()Lorg / hibernate / classic / Session

陈嘉荣
2023-03-14
问题内容

我正在尝试将我已经工作的spring项目与hibernate集成在一起,但这是我开始启动时遇到的错误。

EVERE: Servlet.service() for servlet [appServlet] in context with path [/TelephoneDirectory] threw exception [Handler processing failed; nested exception is java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session;] with root cause
java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session;
    at org.springframework.orm.hibernate3.SessionFactoryUtils.doGetSession(SessionFactoryUtils.java:322)
    at org.springframework.orm.hibernate3.SessionFactoryUtils.getSession(SessionFactoryUtils.java:233)
    at org.springframework.orm.hibernate3.HibernateTemplate.getSession(HibernateTemplate.java:457)
    at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:393)
    at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
    at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:912)
    at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:904)
    at com.emumba.telephonedirectory.repository.JdbcPersonDao.getPersonsList(JdbcPersonDao.java:36)
    at com.emumba.telephonedirectory.service.SimpleDirectoryManager.getAllPersons(SimpleDirectoryManager.java:23)
    at com.emumba.telephonedirectory.web.HomeController.home(HomeController.java:42)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:212)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:900)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

我已经用谷歌搜索了,但是我能发现的是类似的问题是由classpath中的重复项引起的,但是我仔细观察了一下,我不认为它们是我classpath中的任何重复项。(可能是我错了。)

我被困住了,任何帮助将不胜感激


问题答案:

问题是你hibernate-core-4.0.0.Final.jar在类路径中,但是使用了Spring 3.1 hibernate-core-3.6.0.Final.jar

删除Hibernate 4.0,然后将Hibernate 3.6放在你的类路径中。

顺便说一句,可能还会有更多这样的错过比赛。最好使用maven处理依赖项。



 类似资料:
  • 这是 Docusaurus 的经典主题。 你可以参考 主题配置 章节获取有关配置的更多详细信息。 npm Yarn npm install --save @docusaurus/theme-classic yarn add @docusaurus/theme-classic tip 如果您已经安装了 @docusaurus/preset-classic,则不需要再作为依赖项安装本主题了。

  • Morse Classic 是一个功能全面的莫斯电报码训练工具,提供多个选项来控制训练的方法和速度。

  • Classic Shell 可以帮助你将开始菜单带回到Windows 8中。 Classic Shell包含了一个可定制的开始菜单和开始按钮,支持Windows 7和Windows 8,并可以在Windows资源管理器中添加一个便捷的工具栏,还包含其他一些类似于原始Windows开始菜单的小特性: 通过拖放组织应用程序 显示最近使用的文件 并没有禁用原始的Windows开始菜单,可通过shift+

  • Live example This example shows you how to use TinyMCE Classic Editor. <textarea id="classic"> <img style="float:right" src='https://www.tiny.cloud/images/glyph-tinymce@2x.png' alt="TinyMCE" height

  • Java Classic RPG是一个开源的角色扮演游戏开发框架。该项目还提供一个基于该框架开发一个游戏。

  • MPC是国外开源软件,也是全能的免费影音播放器,在非商业影音软件中,MPC是最好的一个了。