2015-10-29 45 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?

相關問題