gpt4 book ai didi

Tomcat 上的 Java 持久性 - 没有名为 EntityManager 的持久性提供程序

转载 作者:搜寻专家 更新时间:2023-11-01 03:40:36 24 4
gpt4 key购买 nike

我正在尝试学习使用持久性,并且已经设法在我本地机器上的 glassfish 上成功运行该项目。现在我的下一步是在我的 Tomcat 服务器上运行它,但这不起作用。

我总是收到错误“没有名为 MyPersistence 的 EntityManager 的持久性提供程序”

这就是 war 的结构

.
|____index.jsp
|____WEB-INF
| |____classes
| | |____Mainpackage
| | | |____Ente.class
| | |____META-INF
| | | |____persistence.xml
| |____lib
| | |____javax.persistence.jar
| | |____mysql-connector-java-5.1.24-bin.jar
| |____web.xml

我的jsp的内容是

  EntityManagerFactory fac = Persistence.createEntityManagerFactory("MyPersistence");
EntityManager mgr = fac.createEntityManager();
mgr.getTransaction().begin();
Ente e = new Ente();
e.setName("Quietscheente");
mgr.persist(e);
mgr.getTransaction().commit();
mgr.close();
fac.close();

我的 persistence.xml 看起来像

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">

<persistence-unit name="MyPersistence">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.connection.url" value="jdbc:mysql://h2134265.stratoserver.net/persistencetest"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.username" value="persistence"/>
<property name="hibernate.connection.password" value="XXXXXXXXX"/>
<property name="hibernate.archive.autodetection" value="class"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hbm2ddl.auto" value="update"/>
</properties>
<class>Mainpackage.Ente</class>
</persistence-unit>
</persistence>

我确实尝试将 persistence.xml 移动到另一个位置,但根据互联网上的几个来源,该位置应该是正确的

最佳答案

根据你的WEB-INF/lib内容,没有Hibernates的库。

那么请download它的库并将它们添加到您的 WEB-INF/lib 文件夹中。

这里是必要库的列表(注意,您需要删除 javax.persistence.jar 以避免可能的 JAR 冲突):

  • antlr-2.7.7.jar
  • dom4j-1.6.1.jar
  • hibernate-commons-annotations-4.0.1.Final.jar
  • hibernate-core-4.1.8.Final.jar
  • hibernate-entitymanager-4.1.8.Final.jar
  • hibernate-jpa-2.0-api-1.0.1.Final.jar
  • javassist-3.15.0-GA.jar
  • jboss-logging-3.1.0.GA.jar
  • jboss-transaction-api_1.1_spec-1.0.0.Final.jar

关于Tomcat 上的 Java 持久性 - 没有名为 EntityManager 的持久性提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15438876/

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