问题
在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后,可以在“ \ J2EE_SDK_FOLDER \ lib”文件夹中找到javaee.jar 。 例如,
C:\Sun\SDK\lib\javaee.jar
获取javaee.jar文件,并将其包含在您的项目类路径中。
2. Java.Net存储库
或者,您可以从java.net Maven获取“ javaee.jar ”
<repositories>
<repository>
<id>Java.Net</id>
<url>http://download.java.net/maven/2/</url>
</repository>
</repositories>
<dependencies>
<!-- Javaee API -->
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
</dependency>
</dependencies>
下载的java.net javaee.jar不包含任何方法主体,有关详细信息,请参见本文“ 如何从Maven获取javaee.jar ”。
翻译自: https://mkyong.com/hibernate/java-lang-classnotfoundexception-javax-transaction-transactionmanager/