gpt4 book ai didi

java - 使用 eclipselink 时将 persistence.xml 放在哪里?

转载 作者:行者123 更新时间:2023-12-01 13:23:53 25 4
gpt4 key购买 nike

我正在尝试使用 JPA EclipseLink 执行 vaadin7 应用程序。我创建了一个文件夹META-INFsrc/但不起作用并返回以下错误:

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)

我在 Build-Path 和 WEB-INF/lib 中添加了所有 jars和我的persistences.xmlsrc/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>

知道为什么会出现这个异常吗?

最佳答案

该文件名为 persistence.xml,而不是像您那样命名为 persistences.xml。

它必须放置在 META-INF 文件夹中。确保此文件夹包含在您的 WEB-INF 文件夹中。

来自Java EE 6 Tutorial :

If you package the persistence unit as a set of classes in a WAR file, persistence.xml should be located in the WAR file’s WEB-INF/classes/META-INF directory.

If you package the persistence unit in a JAR file that will be included in a WAR or EAR file, the JAR file should be located in either

  • The WEB-INF/lib directory of a WAR
  • The EAR file’s library directory

关于java - 使用 eclipselink 时将 persistence.xml 放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21891125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com