2 pangcq699885 pangcq699885 于 2016.01.24 22:05 提问

升级ssh整合出现错误java.lang.NoSuchMethodError: 2C

下面是控制台打印的信息,麻烦看到的高手帮忙解决:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [cn/com/hope/framework/spring/applicationContext-datasource.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.hibernate.tool.hbm2ddl.SchemaUpdate.(Lorg/hibernate/service/ServiceRegistry;Lorg/hibernate/cfg/Configuration;)V
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351)
... 28 more
Caused by: java.lang.NoSuchMethodError: org.hibernate.tool.hbm2ddl.SchemaUpdate.(Lorg/hibernate/service/ServiceRegistry;Lorg/hibernate/cfg/Configuration;)V
at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:522)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1859)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1930)
at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:372)
at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:454)
at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:439)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574)
... 35 more

6个回答

SF031
SF031   2016.01.24 22:24

Spring配置文件里面注册action时出错,最大可能是class属性后面的地址不对 。你仔细看看

pangcq699885
pangcq699885 是把hibernate3换成hibernate4出错的
接近 2 年之前 回复
jia20003
jia20003   2016.01.24 22:14

最大的可能是你配置不对, bean没有指定到正确hibernate class导致事务配置失败
或者是你的maven/ant中引入的hibernate/spring的版本不对

只有这个原因才会出这个错误,而且你的对应Class中肯定没有这个方法, 办法就是改你的配置,或者升级你的hibernate / spring3 的版本

pangcq699885
pangcq699885 是把hibernate3换成hibernate4出错的
接近 2 年之前 回复
a510835147
a510835147   2016.01.25 08:54

你这是一启动就报错了么。 可以看看是不是jar包冲突或者没导入这jar包

pangcq699885
pangcq699885 恩是启动报错的,是把hibernate3换成hibernate4出错的
接近 2 年之前 回复
meng20166
meng20166   Rxr 2016.01.25 11:19
    你是不是把Hibernate3改成了Hibernate4,如果是的话,Hibernate4没有HibernateDaoSupport这个类,你需要手动写的
meng20166
meng20166 hibernate4跟hibernate3jar包不一样,就是hibernate4没有提供HibernateDaoSupport这个类,你就要在dao层创建sessionFactory或者自己写HibernateDaoSupport类了
接近 2 年之前 回复
pangcq699885
pangcq699885 正是把hibernate3换成4所导致出现的错误,我看别人的集成也没发现哪里写了HibernateDaoSupport这个类,可以再讲详细点吗?
接近 2 年之前 回复
pangcq699885
pangcq699885   2016.01.25 18:29

找到答案了,是因为在项目中自定义了个org.hibernate.tool.hbm2ddl.SchemaUpdate类而导致的,谢谢各位的耐心帮助。。。

Royal_lr
Royal_lr   Ds   Rxr 2016.01.28 12:01

sessionFactory注入异常,一般是datasource是原因

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!