【发布时间】:2018-10-25 15:48:37
【问题描述】:
在 Weblogic 上部署 EJB 应用程序:12.2.1 时,我遇到了异常:
“实例化 PersistenceUnit entityManager 的 Persistence Provider 类 org.hibernate.ejb.HibernatePersistence 时出错:java.lang.ClassNotFoundException: org.hibernate.ejb.HibernatePersistence”
我在 persistence.xml 中有以下配置来指定持久性提供程序
<persistence-unit name="entityManager">
<!-- Use Hibernate persistency -->
<provider>org.hibernate.ejb.HibernatePersistence</provider>
weblogic-application.xml 及以下
<prefer-application-packages>
<package-name>antlr.*</package-name>
<package-name>javax.persistence.*</package-name>
</prefer-application-packages>
我按照以下链接检查 WL 中设置的默认持久性提供程序,即 TopLink。
另外,尝试通过下面的配置使用 hibernate-jpa-api.jar、slf4j-api.jar 在 setDomainEnv.cmd 中设置类路径变量并重新启动服务器。仍然面临同样的问题。
set EXT_PRE_CLASSPATH=C:\Projects\...\lib\hibernate\hibernate-jpa-api.jar;C:\Projects\...\lib\hibernate\slf4j-api.jar
【问题讨论】:
标签: java-8 jpa-2.0 ejb-3.0 weblogic12c