实例化持久性提供程序时出错 class java.lang.ClassNotFoundException:org.hibernate.ejb.HibernatePersistence
Error instantiating Persistence Provider class java.lang.ClassNotFoundException: org.hibernate.ejb.HibernatePersistence
在 Weblogic 上部署 EJB 应用程序:12.2.1,我遇到异常:
"Error instantiating the Persistence Provider class org.hibernate.ejb.HibernatePersistence of the PersistenceUnit entityManager: 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>
我按照以下 link 检查了 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
将 hibernate jar 添加到 weblogic 域的 lib 文件夹可以工作,即 hibernate.jar , hibernate-api.jar , javax.persistence.jar, com.oracle.jpa2support_ ar 和一个的您在 setDomainEnv.cmd
的类路径中设置
来源:-https://docs.oracle.com/cd/E12839_01/web.1111/e13706/classloading.htm#WLPRG324
和 https://community.oracle.com/thread/1065416
在 Weblogic 上部署 EJB 应用程序:12.2.1,我遇到异常:
"Error instantiating the Persistence Provider class org.hibernate.ejb.HibernatePersistence of the PersistenceUnit entityManager: 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>
我按照以下 link 检查了 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
将 hibernate jar 添加到 weblogic 域的 lib 文件夹可以工作,即 hibernate.jar , hibernate-api.jar , javax.persistence.jar, com.oracle.jpa2support_ ar 和一个的您在 setDomainEnv.cmd
的类路径中设置来源:-https://docs.oracle.com/cd/E12839_01/web.1111/e13706/classloading.htm#WLPRG324 和 https://community.oracle.com/thread/1065416