問題

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

Solution

The

javax.transaction.TransactionManager

is a class inside the J2EE
SDK library “

javaee.jar

“, you are missing this jar file in your
project classpath.

1. J2EE SDK

You can always get the

javaee.jar

from

http://java.sun.com/javaee/

.
Download and install the SDK in your computer, the

javaee.jar

can be
found in the “\J2EE

SDK

FOLDER\lib” folder. For example,

C:¥Sun¥SDK¥lib¥javaee.jar

2. Java.Netリポジトリ

あるいは、java.net Mavenから ”

javaee.jar

“を取得することもできます

<リポジトリ>
    <リポジトリ>
        <id> Java.Net </id>
        <url> http://download.java.net/maven/2/</url>
    </repository>
  </リポジトリ>
 
  <依存関係>
    <! -  Javaee API  - >
    <依存関係>
        <groupId> javax </groupId>
        <artifactId> javaee-api </artifactId>
        <version> 6.0 </version>
    </dependency>
  </dependencies>

ダウンロードしたjava.net

javaee.jar

にはメソッド本体は含まれていませんが、
これを参照してください
“リンク://maven/how-to-download-j2ee-api-javaee-jar-from-maven/[入手方法
javaee.jar from Maven]」を参照してください。