我正在尝试使用JPA EclipseLink执行vaadin7应用程序。我创建了一个文件夹META-INF
上src/
但不工作,波纹管返回此错误:使用eclipselink时,在何处放置persistence.xml?
javax.servlet.ServletException: com.vaadin.server.ServiceException: javax.persistence.PersistenceException: No Persistence provider for EntityManager named myapp
com.vaadin.server.VaadinServlet.service(VaadinServlet.java:240)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
我加入构建路径和WEB-INF/lib
我persistences.xml
在src/META-INF
是波纹管所有的罐子和。
<?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="myapp" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>com.example.testejpa.HelloWorld</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysq.jdbc.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://xxx.xxx.xxx.xxx:3306/mydb" />
<property name="javax.persistence.jdbc.user" value="user" />
<property name="javax.persistence.jdbc.password" value="pass" />
<property name="eclipselink.logging.level" value="FINE"/>
</properties>
</persistence-unit>
</persistence>
任何想法为什么这个例外?
的src/META-INF是不是在运行时有效,它应该是被添加到WEB-INF/lib下的jar的META-INF。但是,错误消息表明您的配置文件已找到。这意味着可能是EclipseLink罐子丢失,或者JPA读取的配置文件已过期。 –