首页 > 解决方案 > 为什么 Vaadin 不能创建 JPAContainer?

问题描述

以下代码抛出异常

JPAContainer<Users> userContainer =
                    JPAContainerFactory.make(Users.class, "erp");

其中用户是一个实体

打印以下堆栈跟踪

javax.servlet.ServletException: com.vaadin.server.ServiceException: java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.ejb.Ejb3Configuration
    com.vaadin.server.VaadinServlet.service(VaadinServlet.java:239)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

根本原因

com.vaadin.server.ServiceException: java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.ejb.Ejb3Configuration
    com.vaadin.server.VaadinService.handleExceptionDuringRequest(VaadinService.java:1463)
    com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1417)
    com.vaadin.server.VaadinServlet.service(VaadinServlet.java:237)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

根本原因

java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.ejb.Ejb3Configuration
    org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:57)
    javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)
    javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
    com.vaadin.addon.jpacontainer.JPAContainerFactory.createEntityManagerForPersistenceUnit(JPAContainerFactory.java:122)
    com.vaadin.addon.jpacontainer.JPAContainerFactory.make(JPAContainerFactory.java:105)

我已经尝试过 Stack Overflow 上提供的其他答案。它们都不起作用。

标签: javahibernatejpavaadin

解决方案


推荐阅读