java.lang.ClassNotFoundException: javax.transaction.TransactionManager
問題
JPAまたはHibernate開発では、次のエラーメッセージが表示されます。
Caused by: java.lang.ClassNotFoundException: javax.transaction.TransactionManager 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) … 23 more
溶液
javax.transaction.TransactionManagerはJ2EE SDKライブラリ「javaee.jar」内のクラスです。プロジェクトのクラスパスにこのjarファイルがありません。
1. J2EE SDK
http://java.sun.com/javaee/からjavaee.jarをいつでも取得できます。 SDKをダウンロードしてコンピューターにインストールします。javaee.jarは「\ J2EE_SDK_FOLDER \ lib」フォルダーにあります。 例えば、
C:\Sun\SDK\lib\javaee.jar
javaee.jarファイルを取得し、プロジェクトのクラスパスに含めます。
2. Java.Net Repository
または、java.net Mavenから「javaee.jar」を取得することもできます。
Java.Net http://download.java.net/maven/2/ javax javaee-api 6.0
ダウンロードしたjava.netjavaee.jarにはメソッド本体が含まれていません。これを参照してください。「http://www.example.com/maven/how-to-download-j2ee-api-javaee-jar-from-maven/ [Mavenからjavaee.jarを取得する方法]」の記事で詳細を確認してください。