2016-11-20 49 views
0

執行Java SE JPA獨立的應用程序引發異常:JPA與Java SE:javax.persistence.PersistenceException:沒有持久性提供的EntityManager

javax.persistence.PersistenceException: No Persistence provider for EntityManager named test 

我發現幾個類似的職位,但我認爲他們沒有適用於我的情況與EclipseLink的,Java SE和沒有包裝成可部署的文件,因此沒有WEB-INF等

的/src/META-INF/persistence.xml是:

<persistence> 
    <persistence-unit name="test" transaction-type="RESOURCE_LOCAL"> 
     <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 
     <class>SomeEntity</class> 
     <properties> 
      <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/> 
      <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/somedbname"/> 
      <property name="javax.persistence.jdbc.user" value="foo"/> 
      <property name="javax.persistence.jdbc.password" value="bar"/> 
     </properties> 
    </persistence-unit> 
</persistence> 

個以下罐子構建路徑上:

  • org.eclipse.persistence.jpa-2.6.4.jar
  • 的EclipseLink-2.6.4.jar
  • javax.persistence-2.1.1。罐子
  • PostgreSQL相關9.4.1212.jar

回答

0

你必須給的EclipseLink JAR添加到類路徑,以檢查是不是已經存在或沒有:

System.out.println(System.getProperty("java.class.path")); 
+0

是的,的EclipseLink-2.6.4.jar是類路徑 – JCvanDamme

0

我必須提供持久的命名空間中的persistence.xml與xmlns屬性

<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0"> 
相關問題