2015-10-29 44 views
0

所以,我有一个成功的Spring 4.2.2.RELEASE MVC web应用程序与Hibernate 4.3.8.Final一起工作。我更改为Hibernate 5.0.2.Final,并对我的Spring应用程序上下文文件进行了以下更改。Spring 4和Hibernate 5给了NoSuchMethodError org.hibernate.internal.CoreMessageLogger

来源:

<bean id="sessionFactory" 
    class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 

要:

<bean id="sessionFactory" 
    class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> 

而且从:

<bean id="transactionManager" 
    class="org.springframework.orm.hibernate4.HibernateTransactionManager"> 

要:

<bean id="transactionManager" 
    class="org.springframework.orm.hibernate5.HibernateTransactionManager"> 

我网络上的其他任何地方都找不到这个问题。我确实知道我检查了我的类路径,并且在任何级别的应用程序中都没有其他Hibernate4引用。它显示了Hibernate的配置正确

java.lang.NoSuchMethodError: org.hibernate.internal.CoreMessageLogger.debug 

我试图在网络上找到其他地方:

当我尝试执行我DaoTestCode,Spring应用程序上下文不会因为这个错误信息的加载5与春季4.2.2,我什么都找不到。我知道我经历了从Hibernate 3到Hibernate 4的一些痛苦,现在我想相应地迁移。我知道会有一些痛点。 有什么办法可以解决这个问题,以及我应该注意的任何其他未来问题?

谢谢!

回答

3

更新我的POM文件来更新我的所有日​​志记录罐子最新:

<!-- Logging Dependencies --> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.17</version> 
     <exclusions> 
      <exclusion> 
       <groupId>com.sun.jdmk</groupId> 
       <artifactId>jmxtools</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>com.sun.jmx</groupId> 
       <artifactId>jmxri</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>javax.jms</groupId> 
       <artifactId>jms</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>1.7.12</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.logging</groupId> 
     <artifactId>jboss-logging</artifactId> 
     <version>3.3.0.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-simple</artifactId> 
     <version>1.7.12</version> 
    </dependency> 

这解决了我的问题!

+0

为我工作!非常感谢 – 0bj3ct

+0

这对我有用,并且在从4.3移到5.2.13时让我的项目恢复运行 – RESTfulGeoffrey

0

我认为这是一个类路径问题。

您是否检查过应用程序服务器的库?

方法org.hibernate.internal.CoreMessageLogger.debug从org.jboss.logging.BasicLogger继承自休眠加入4. 你有JBoss的日志记录与正确版本的类路径?

也许你在你的classpath中有3个hibernate的hibernate?

相关问题