Ruhezustand - java.lang.NoClassDefFoundError: javax/transaction/Synchronization

Ruhezustand - java.lang.NoClassDefFoundError: javax / transaction / Synchronization

Problem

Dies wird durch das Fehlen von „jta.jar“ verursacht, was normalerweise bei der Entwicklung von Transaktionen im Ruhezustand der Fall ist.

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

Lösung

Sie können "jta.jar" von den Standard-Repositorys von Maven Central, JBoss oder Java.net herunterladen.

1. Zentrales Repository von Maven

   
        
        javax.transaction
        jta
        1.1
    
   

2. JBoss Maven-Repository

Fügen Sie das JBoss Maven-Repository hinzu

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

und definieren Sie das Detail „jta.jar“.

    
        
            javax.transaction
            jta
            1.1
        
    

3. Java Net Maven Repository

Fügen Sie das Java Net Maven-Repository hinzu

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

und definieren Sie das Detail „+ jta1.0.1B.jar+“.

    
        
            javax.transaction
            jta
            1.0.1B
        
    

Note
Alternativ können Sie die "javaee.jar" einfügen, die sich im Ordner des J2EE SDK befinden. Die Klasse "javaee.jar" enthält auch die Klasse "javax/transaction/Synchronization".