我试图让eclipselink使用GWT的requestfactory。我一直收到以下错误:
Caused by: java.lang.RuntimeException: Server Error: No Persistence provider for EntityManager named default
在网上阅读,似乎persistence.xml必须存在于WEB-INF / classes / META-INF /中。我尝试在src / META-INF下创建一个文件夹并在其中放置persistence.xml,但是当我在eclipse中构建项目时,它没有包含在war / WEB-INF / classes /中。有什么建议?我正在使用GWT 2.3,EclipseLink 2.3和eclipse 3.7。如何让eclipse将persistence.xml包含在正确的位置?
的persistence.xml
<?xml version="1.0" encoding="UTF-8" ?> <persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="default" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>com.manning.gwtia.ch08.v2.server.Contact</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/example" />
<property name="javax.persistence.jdbc.user" value="" />
<property name="javax.persistence.jdbc.password" value="" />
<!-- EclipseLink should create the database schema automatically -->
<property name="eclipselink.ddl-generation" value="create-tables" />
<property name="eclipselink.ddl-generation.output-mode" value="database" />
</properties>
</persistence-unit>
答案 0 :(得分:2)
您是否尝试将persistence.xml放在文件夹war/META-INF
?
编辑: 其他选项:没有将persistence.xml从src / META-INF文件夹复制到classes文件夹的原因可能是因为您的eclipse java构建路径配置仅包含要复制到classes文件夹的特定类型的文件。检查您的项目属性 - &gt; Java构建路径 - &gt;来源并检查包含/排除的内容。这可以解释一下。