java.lang.ClassNotFoundException:javax.transaction.TransactionManager

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を取得する方法]」の記事で詳細を確認してください。