【问题标题】:Error instantiating Persistence Provider class java.lang.ClassNotFoundException: org.hibernate.ejb.HibernatePersistence实例化 Persistence Provider 类 java.lang.ClassNotFoundException 时出错:org.hibernate.ejb.HibernatePersistence
【发布时间】: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。

https://docs.oracle.com/middleware/1213/wls/WLACH/taskhelp/domainconfig/ConfigureDefaultJPAProvider.html

另外,尝试通过下面的配置使用 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


    【解决方案1】:

    将hibernate jars添加到weblogic域的lib文件夹中可以工作,即hibernate.jar,hibernate-api.jar,javax.persistence.jar,com.oracle.jpa2support_ar和你在setDomainEnv的类路径中设置的那个。命令

    来源:-https://docs.oracle.com/cd/E12839_01/web.1111/e13706/classloading.htm#WLPRG324https://community.oracle.com/thread/1065416

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-02
      • 2015-04-30
      • 2016-06-01
      • 2021-08-24
      • 1970-01-01
      • 1970-01-01
      • 2013-12-11
      相关资源
      最近更新 更多