Erreur Hibernate - java.lang.NoClassDefFoundError: javax/transaction/Synchronization

Erreur de mise en veille prolongée - java.lang.NoClassDefFoundError: javax / transaction / Synchronization

Problème

Ceci est dû au fait que les «jta.jar» manquaient, généralement lors du développement de transactions 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

Solution

Vous pouvez télécharger «jta.jar» à partir des référentiels Maven central, JBoss ou Java.net par défaut.

1. Dépôt central Maven

   
        
        javax.transaction
        jta
        1.1
    
   

2. Référentiel JBoss Maven

Ajouter le référentiel JBoss Maven

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

et définissez le détail «jta.jar».

    
        
            javax.transaction
            jta
            1.1
        
    

3. Référentiel Java net Maven

Ajouter le référentiel Java net Maven

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

et définissez le détail «+ jta1.0.1B.jar+».

    
        
            javax.transaction
            jta
            1.0.1B
        
    

Note
Vous pouvez également inclure les «javaee.jar», qui se trouvent dans le dossier du SDK J2EE. Le «javaee.jar» contient également la classe «javax/transaction/Synchronization».