java.lang.ClassNotFoundException: org.hibernate.service.jta.platform.spi.JtaPlatform

java.lang.ClassNotFoundException: org.hibernate.service.jta.platform.spi.JtaPlatform

Интеграция Spring 3.2.x + Hibernate 4.3.x, попадание вJtaPlatform ClassNotFoundException, поиск в пути к классам проекта, обнаружение, чтоJtaPlatform находится в другом пакете?

hibernate-core.4.3.5.Final.jar

org.hibernate.engine.transaction.jta.platform.spi.JtaPlatform

Сообщение об ошибке показываетorg.hibernate.service.jta.platform.spi.JtaPlatform

Caused by: java.lang.NoClassDefFoundError: org/hibernate/service/jta/platform/spi/JtaPlatform
    at org.springframework.orm.hibernate4.SpringSessionContext.(SpringSessionContext.java:56)
    ~[spring-orm-3.2.8.RELEASE.jar:3.2.8.RELEASE]
    ... 40 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.hibernate.service.jta.platform.spi.JtaPlatform
//...

pom.xml

  
  
    org.hibernate
    hibernate-core
    4.3.5.Final
  

  
  
    org.springframework
    spring-core
    3.2.8.RELEASE
  

  
    org.springframework
    spring-orm
    3.2.8.RELEASE
  

Решение

Начиная с Hibernate 4.3.x, классJtaPlatform преобразован в новый пакет. To fix it, понизьте версию Hibernate до версии 4.2.x или более ранней или обновите платформу Spring.

Протестировано в моей среде разработки, вот версия, которая работает:

  1. Весна 3.2.8. ВЫПУСК

  2. Hibernate 4.2.11.Final

pom.xml

  
    org.hibernate
    hibernate-core
    4.2.11.Final
  

  
    org.springframework
    spring-core
    3.2.8.RELEASE