java.lang.ClassNotFoundException:JPA找不到javax.persistence.Persistence
我正在使用JPA API。 我收到了一个错误
java.lang.ClassNotFoundException: javax.persistence.Persistence cannot be found
我的代码如下:
EntityManagerFactory emf; emf = Persistence.createEntityManagerFactory("mail"); EntityManager em = emf.createEntityManager(); Query query = em.createQuery("SELECT v FROM Version v"); List versions = query.getResultList();
行emf = Persistence.createEntityManagerFactory("mail");
有解决方案吗
您正在尝试设置一个独立的JPA项目。 为此,您需要一个JPA提供者jar。 两个更受欢迎的提供商是Eclipselink和Hibernate。 如果您使用maven,则可以向其实现添加依赖项。
-
对于Eclipselink
org.eclipse.persistence eclipselink 2.5.1 -
对于Hibernate
org.hibernate hibernate-core 4.3.6.Final org.hibernate hibernate-entitymanager 4.3.6.Final
如果您不使用maven,可以从他们的站点下载他们的实现并将其放在类路径中。
- 对于Eclipselink: http : //www.eclipse.org/eclipselink/downloads/
- 对于Hibernate: http : //hibernate.org/orm/
一些JPA快速入门建议仅使用maven添加JPA API(仅限接口声明)依赖项。
org.eclipse.persistence javax.persistence 2.1.0
要么
org.hibernate.javax.persistence hibernate-jpa-2.1-api 1.0.0.Final
此方法仅在服务器环境中成功,因为服务器将在运行时提供适当的实现。
右键单击项目 – >属性 – >搜索“部署程序集” – >添加Maven依赖项。