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
".