我正在使用Netbeans 6.8并构建简单的Maven Web应用程序项目。
为persist Entity创建实体和主文件[也创建持久单元]并使用EclipsLink。
但是当我运行主文件时出现此错误:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/persistence/Persistence
at Main.main(Main.java:34)
Caused by: java.lang.ClassNotFoundException: javax.persistence.Persistence
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 1 more
在netbeans项目窗口和我的项目库文件夹中只添加此包:
javaee-web-api-6.0.jar [提供]
请帮我解决此错误
感谢
答案 0 :(得分:14)
点击Here下载hibernate-jpa-2.0-api-1.0.1.Final.jar
并将其放入项目库,您的应用程序将正常运行。祝你好运:)
答案 1 :(得分:1)
我遇到了同样的问题,我通过将依赖项更改为以下内容来解决了这个问题:
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>javax.persistence</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
<version>2.7.3</version>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
答案 2 :(得分:0)
在pom.xml
中,您需要为JPA库添加依赖项。
答案 3 :(得分:0)
只是让你偶然发现这一点。另一个问题可能是您有一个项目导入另一个项目,父项目是应该拥有所有库的项目。
答案 4 :(得分:0)
当类路径中没有hibernate-jpa-2.0-api jar时,通常会出现此问题,因此请首先在您的类路径中添加此jar。如果您仍然感到兴奋,请转到 C:\ Users \(系统用户名)\。m2 \ repository \ org \ hibernate;删除文件夹javax。之后,再次从pom.xml下载jar即可。
首先确保下载了hibernate-jpa-2.0-api jar,并且它在您的构建路径中可用。之后右键单击项目->构建路径->配置构建路径->部署组装->添加-> Java构建路径条目->选择可用的jar(hibernate-jpa- 2.0-api)--->下一个--->完成。