2012-04-21 74 views
0

我正在尝试使eclipselink与GWT的requestfactory一起工作。我不断收到以下错误:persistence.xml未包含在gwt项目的WAR文件夹中

Caused by: java.lang.RuntimeException: Server Error: No Persistence provider for EntityManager named default 

在Web上浏览时,似乎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> 

回答

2

你尝试将persistence.xml中的文件夹war/META-INF吗?

编辑: 其他选项:您persistence.xml未从src/META-INF文件夹复制到classes文件夹的原因可能是因为您的eclipse java构建路径配置仅包含要复制到的特定类型的文件类文件夹。检查你的项目属性 - > Java Build Path - > Source并检查包含/排除的内容。这可能可以解释。

+0

我做到了。我仍然得到“没有EntityManager命名默认的持久性提供者”错误。 – dubreakkk 2012-04-21 15:29:48

+0

谢谢,它工作。 – dubreakkk 2012-04-23 02:59:20

+0

帮助解决了类似的问题(beans.xml不包含),另一个选项解决了这个问题。 – Fedy2 2013-07-30 13:05:44

相关问题