Hibernateエラー– java.lang.NoClassDefFoundError:javax / transaction / Synchronization
問題
これは、通常Hibernateトランザクション開発で発生する「jta.jar
」の欠落が原因で発生します。
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セントラル、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
または、J2EE SDKのフォルダーの下にある「javaee.jar」を含めることもできます。 「javaee.jar」には「javax/transaction/Synchronization
」クラスも含まれています。