2013-03-15 72 views
4

我試圖學習使用持久性,並已經設法在我的本地機器上的glassfish上成功運行項目。現在對我來說下一步就是在我的Tomcat服務器上運行它,但這不起作用。Tomcat上的Java持久性 - 沒有EntityManager的持久性提供者名爲

我總是得到「爲EntityManager的命名MyPersistence沒有持久性提供者」的錯誤

這就是戰爭的結構看起來像

. 
|____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到另一個位置,但根據互聯網上的多個源的位置應正確

回答

1

根據您的WEB-INF/lib的內容,也沒有Hibernate的的庫。

所以請將download的庫文件添加到您的WEB-INF/lib文件夾中。

這是必要的庫列表(注意,這javax.persistence.jar您需要刪除,以避免可能的衝突的JAR文件):

  • ANTLR-2.7.7.jar
  • 的dom4j-1.6.1.jar
  • 休眠公地的註解 - 4.0.1.Final.jar
  • 休眠核心 - 4.1.8.Final.jar
  • 休眠-的EntityManager-4.1.8.Final.jar
  • 休眠-JPA-2.0-API-1.0.1.Final.jar
  • 了Javassist-3.15.0-GA.jar
  • 的jboss-測井3.1.0.GA.jar
  • JBoss的事務-api_1 .1_spec-1.0.0.Final.jar
+0

謝謝。我以爲IntelliJ會自動添加它們。現在正常工作:) – 2013-03-15 20:16:20

相關問題