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