gpt4 book ai didi

java - 在 Weblogic 10.3.6 上使用 Hibernate 4.3.7.Final 和 JPA 2.1

转载 作者:太空宇宙 更新时间:2023-11-04 06:17:31 25 4
gpt4 key购买 nike

我尝试在 weblogic 10.3.6 上使用最新版本的 Hibernate 和 JPA 并收到 java.lang.ClassCastException: org.hibernate.jpa.HibernatePersistenceProvider 无法转换为 javax.persistence.spi.PersistenceProvider。

这些是我已经完成的以下事情。

  1. 创建新版本的 Hibernate 库

  2. 升级我的 JodaTime 库

  3. 为服务器添加 JPA 和持久性升级以接受 JPA 2.0(尽管我们将使用我们自己的库)。设置 PRE_CLASSPATH=%BEA_HOME%\modules\javax.persistence_1.0.0.0_2-0-0.jar;%BEA_HOME%\modules\com.oracle.jpa2support_1.0.0.0_2-1.jar;%PRE_CLASSPATH%

  4. 更改了 persistance.xml

持久性.xml

 <?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns
/persistence/persistence_1_0.xsd">
<persistence-unit name="BagTagAgentEJB" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<jta-data-source>jdbc/GuestSelfService</jta-data-source>
<class>hibernate.DataAccessObject.bla</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect" > />
<property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.WeblogicTransactionManagerLookup" />
</properties>
</persistence-unit>
</persistence>

weblogic-application.xml

  <wls:prefer-application-packages>
<wls:package-name>antlr.*</wls:package-name>
<wls:package-name>javassist.*</wls:package-name>
<wls:package-name>org.dom4j.*</wls:package-name>
<wls:package-name>org.apache.commons.collections.*</wls:package-name>
<wls:package-name>org.apache.log4j.*</wls:package-name>
<wls:package-name>org.hibernate.*</wls:package-name>
<wls:package-name>javax.persistence.*</wls:package-name>
<wls:package-name>org.joda.*</wls:package-name>
<wls:package-name>org.slf4j.*</wls:package-name>
</wls:prefer-application-packages>

我在部署时收到以下错误 <12/01/2015 下午 2:49:01 美国东部时间>

at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:469)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:517)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:159)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:45)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:648)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191)
at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:59)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:208)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:98)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747)
at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)
at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused by: weblogic.deployment.EnvironmentException: Error processing persistence unit BagTagAgentEJB of module BagTagAgentEJB-1.0.0-SNAPSHOT.jar: Error instantiating the Persistence Provider class org.hibernate.jpa.HibernatePersistenceProvider of the PersistenceUnit BagTagAgentEJB: java.lang.ClassCastException: org.hibernate.jpa.HibernatePersistenceProvider cannot be cast to javax.persistence.spi.PersistenceProvider

at weblogic.deployment.BasePersistenceUnitInfoImpl.getPersistenceProvider(BasePersistenceUnitInfoImpl.java:375)
at weblogic.deployment.BasePersistenceUnitInfoImpl.initializeEntityManagerFactory(BasePersistenceUnitInfoImpl.java:393)
at weblogic.deployment.BasePersistenceUnitInfoImpl.initializeEntityManagerFactory(BasePersistenceUnitInfoImpl.java:386)
at weblogic.deployment.BasePersistenceUnitInfoImpl.<init>(BasePersistenceUnitInfoImpl.java:158)
at weblogic.deployment.PersistenceUnitInfoImpl.<init>(PersistenceUnitInfoImpl.java:46)
at weblogic.deployment.AbstractPersistenceUnitRegistry.storeDescriptors(AbstractPersistenceUnitRegistry.java:349)
at weblogic.deployment.AbstractPersistenceUnitRegistry.loadPersistenceDescriptor(AbstractPersistenceUnitRegistry.java:263)
at weblogic.deployment.ModulePersistenceUnitRegistry.<init>(ModulePersistenceUnitRegistry.java:69)
at weblogic.ejb.container.deployer.EJBModule.setupPersistenceUnitRegistry(EJBModule.java:223)
at weblogic.ejb.container.deployer.EJBModule$1.execute(EJBModule.java:324)
at weblogic.deployment.PersistenceUnitRegistryInitializer.setupPersistenceUnitRegistries(PersistenceUnitRegistryInitializer.java:62)
at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:393)

添加服务器类路径:

WLS Start Mode=Development
.
CLASSPATH=C:\dev\app\Oracle\OSB_MI~1\ORACLE~1\modules\oracle.jdbc_11.1.1\ojdbc6dms.jar;
C:\dev\app\Oracle\OSB_Middleware\modules\javax.persistence_1.0.0.0_2-0-0.jar;C:\dev\app
\Oracle\OSB_Middleware\modules\com.oracle.jpa2support_1.0.0.0_2-0.jar;C:\dev\app\Oracle
\OSB_MI~1\ORACLE~2\lib\osb-server-modules-ref.jar;C:\dev\app\Oracle\OSB_MI~1
\patch_wls1036\profiles\default\sys_manifest_classpath\weblogic_patch.jar;C:\dev\app
\Oracle\OSB_MI~1\patch_oepe180\profiles\default\sys_manifest_classpath
\weblogic_patch.jar;C:\dev\app\Oracle\OSB_MI~1\patch_ocp371\profiles\default
\sys_manifest_classpath\weblogic_patch.jar;C:\dev\app\Oracle\OSB_MI~1\patch_adfr1111
\profiles\default\sys_manifest_classpath\weblogic_patch.jar;C:\dev\app\Oracle\OSB_MI~1
\JDK160~1\lib\tools.jar;C:\dev\app\Oracle\OSB_MI~1\WLSERV~1.3\server
\lib\weblogic_sp.jar;C:\dev\app\Oracle\OSB_MI~1\WLSERV~1.3\server\lib\weblogic.jar;C:
\dev\app\Oracle\OSB_MI~1\modules\features\weblogic.server.modules_10.3.6.0.jar;C:
\dev\app\Oracle\OSB_MI~1\WLSERV~1.3\server\lib\webservices.jar;C:\dev\app\Oracle
\OSB_MI~1\modules\ORGAPA~1.1/lib/ant-all.jar;C:\dev\app\Oracle\OSB_MI~1\modules
\NETSFA~1.0_1/lib/ant-contrib.jar;C:\dev\app\Oracle\OSB_MI~1\ORACLE~1\soa\modules
\commons-cli-1.1.jar;C:\dev\app\Oracle\OSB_MI~1\ORACLE~1\soa\modules
\oracle.soa.mgmt_11.1.1\soa-infra-mgmt.jar;C:\dev\app\Oracle\OSB_Middleware\Oracle_OSB1
\soa\modules\oracle.soa.common.adapters_11.1.1\oracle.soa.common.adapters.jar;C:
\dev\app\Oracle\OSB_MI~1\ORACLE~1\modules\oracle.jrf_11.1.1\jrf.jar;C:\dev\app\Oracle
\OSB_MI~1\ORACLE~2\lib\version.jar;C:\dev\app\Oracle\OSB_MI~1\ORACLE~2\lib\alsb.jar;C:
\dev\app\Oracle\OSB_MI~1\ORACLE~2\3rdparty\lib\j2ssh-ant.jar;C:\dev\app\Oracle\OSB_MI~1
\ORACLE~2\3rdparty\lib\j2ssh-common.jar;C:\dev\app\Oracle\OSB_MI~1\ORACLE~2\3rdparty
\lib\j2ssh-core.jar;C:\dev\app\Oracle\OSB_MI~1\ORACLE~2\3rdparty\lib\j2ssh-
dameon.jar;C:\dev\app\Oracle\OSB_MI~1\ORACLE~2\3rdparty\classes;C:\dev\app\Oracle
\OSB_MI~1\ORACLE~2\lib\external\log4j_1.2.8.jar;C:\dev\app\Oracle\OSB_MI~1\USER_P~1
\domains\OSB_DO~1\config\osb;C:\dev\app\Oracle\OSB_MI~1\WLSERV~1.3\common\derby
\lib\derbyclient.jar;C:\dev\app\Oracle\OSB_MI~1\WLSERV~1.3\server\lib\xqrl.jar;C:
\dev\app\Oracle\OSB_Middleware\wlserver_10.3\server\ext\postgresql-9.2-1002.jdbc4.jar

.
PATH=C:\dev\app\Oracle\OSB_MI~1\patch_wls1036\profiles\default\native;C:\dev\app\Oracle
\OSB_MI~1\patch_oepe180\profiles\default\native;C:\dev\app\Oracle\OSB_MI~1\patch_ocp371
\profiles\default\native;C:\dev\app\Oracle\OSB_MI~1\patch_adfr1111\profiles\default
\native;C:\dev\app\Oracle\OSB_MI~1\WLSERV~1.3\server\native\win\32;C:\dev\app\Oracle
\OSB_MI~1\WLSERV~1.3\server\bin;C:\dev\app\Oracle\OSB_MI~1\modules\ORGAPA~1.1\bin;C:
\dev\app\Oracle\OSB_MI~1\JDK160~1\jre\bin;C:\dev\app\Oracle\OSB_MI~1\JDK160~1\bin;C:
\oraclexe\app\oracle\product\10.2.0\server\bin;C:\Windows\system32;C:\Windows;C:
\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program
Files\Java\jdk1.6.0_24\bin;C:\maven\maven-2.2.1\bin;C:\Program Files\SlikSvn\bin;C:
\Program Files\TortoiseSVN\bin;C:\cygwin64\bin;C:\HashiCorp\Vagrant\bin;C:\dev\apps
\mongodb\mongodb-win32-x86_64-2.4.5\bin;C:\dev\apps\python\Python27;C:\dev\apps\python
\Python27\Scripts;C:\dev\apps\jython\jython2.7b1;C:\dev\apps\jython\jython2.7b1\bin;C:
\Program Files (x86)\Apache Software Foundation\Ant\apache-ant-1.9.4\bin;.;C:\dev\app
\Oracle\OSB_MI~1\WLSERV~1.3\server\native\win\32\oci920_8

最佳答案

编辑第 3 步,更新 commEnv.cmd 文件以使用 jpa 2.1 而不是 jpa2.1,它对我有用。

这就是我的样子

set PRE_CLASSPATH=%PRE_CLASSPATH%;%MW_HOME%\modules\com.oracle.jpa2support_1.0.0.0_2-1.jar;%MW_HOME%\modules\javax.persistence_1.1.0.0_2-0.jar

关于java - 在 Weblogic 10.3.6 上使用 Hibernate 4.3.7.Final 和 JPA 2.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27895673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com