执行Java SE JPA独立应用程序会引发异常:
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>
以下jar在构建路径上:
答案 0 :(得分:0)
您必须将eclipselink jar添加到您的ClassPath以检查它已经存在或不存在:
System.out.println(System.getProperty("java.class.path"));
答案 1 :(得分:0)
我必须在persistence.xml中使用xmlns属性
提供持久性命名空间<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">