Ошибка гибернации - java.lang.NoClassDefFoundError: javax/транзакция/синхронизация

Ошибка спящего режима - java.lang.NoClassDefFoundError: javax / транзакция / синхронизация

проблема

Это вызвано отсутствием «jta.jar», что обычно происходит при разработке транзакций Hibernate.

java.lang.NoClassDefFoundError: javax/transaction/Synchronization
 at org.hibernate.impl.SessionImpl.(SessionImpl.java:213)
 at org.hibernate.impl.SessionFactoryImpl.openSession(SessionFactoryImpl.java:473)
 at org.hibernate.impl.SessionFactoryImpl.openSession(SessionFactoryImpl.java:497)
 at org.hibernate.impl.SessionFactoryImpl.openSession(SessionFactoryImpl.java:505)
 at com.example.common.App.main(App.java:13)
Caused by: java.lang.ClassNotFoundException: javax.transaction.Synchronization
 at java.net.URLClassLoader$1.run(Unknown Source)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at java.lang.ClassLoader.loadClassInternal(Unknown Source)
 ... 5 more

Решение

Вы можете загрузить «jta.jar» из репозиториев Maven central, JBoss или Java.net по умолчанию.

1. Maven центральное хранилище

   
        
        javax.transaction
        jta
        1.1
    
   

2. JBoss Maven хранилище

Добавить репозиторий JBoss Maven

    
        
            JBoss repository
            http://repository.jboss.com/maven2/
        
    

и определите деталь «jta.jar».

    
        
            javax.transaction
            jta
            1.1
        
    

3. Java Net Maven хранилище

Добавить Java Net Maven репозиторий

    
        
            Java 2
            http://download.java.net/maven/2/
        
    

и определите деталь «+ jta1.0.1B.jar+».

    
        
            javax.transaction
            jta
            1.0.1B
        
    

Note
В качестве альтернативы вы можете включить «javaee.jar», который находится в папке J2EE SDK. «javaee.jar» также содержит класс «javax/transaction/Synchronization».