5

war ファイル ( Tomcatで正常に動作しています) を Weblogic にデプロイすると、エラーが発生し続けます。

私の技術
春 3
hibernate
jpa
webservice(metro)

私のライブラリ

私のエラーは

    #### > (BasePersistenceUnitInfoImpl.java:158)
        weblogic.deployment.PersistenceUnitInfoImpl.(PersistenceUnitInfoImpl.java:39) で
        weblogic.deployment.AbstractPersistenceUnitRegistry.storeDescriptors(AbstractPersistenceUnitRegistry.java:349) で
        weblogic.deployment.AbstractPersistenceUnitRegistry.loadPersistenceDescriptors(AbstractPersistenceUnitRegistry.java:124) で
        weblogic.deployment.ModulePersistenceUnitRegistry.(ModulePersistenceUnitRegistry.java:58) で
        weblogic.servlet.internal.WebAppModule.setupPersistenceUnitRegistry(WebAppModule.java:1790) で
        weblogic.servlet.internal.WebAppServletContext.initClassLoader(WebAppServletContext.java:3028) で
        weblogic.servlet.internal.WebAppServletContext.(WebAppServletContext.java:447) で
        weblogic.servlet.internal.WebAppServletContext.(WebAppServletContext.java:493) で
        weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:418) で
        weblogic.servlet.internal.WebAppModule.registerWebApp(WebAppModule.java:972) で
        weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:382) で
        weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176) で
        weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199) で
        weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:517) で
        weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) で
        weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:159) で
        weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:45) で
        weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:613) で
        weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) で
        weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:184) で
        weblogic.application.internal.SingleModuleDeployment.prepare(SingleModuleDeployment.java:43) で
        weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154) で
        weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare (AppContainerInvoker.java:60) で
        weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:207) で
        weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:98) で
        weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217) で
        weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747) で
        weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216) で
        weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250) で
        weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159) で
        weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171) で
        weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13) で
        weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46) で
        weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528) で
        weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) で
        weblogic.work.ExecuteThread.run(ExecuteThread.java:178) で
    原因: java.lang.NoSuchMethodError: javax/persistence/spi/PersistenceUnitInfo.getValidationMode()Ljavax/persistence/ValidationMode;
        org.hibernate.ejb.Ejb3Configuration.configure (Ejb3Configuration.java:621) で
        org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory (HibernatePersistence.java:73) で
        weblogic.deployment.BasePersistenceUnitInfoImpl.initializeEntityManagerFactory (BasePersistenceUnitInfoImpl.java:393) で
        weblogic.deployment.BasePersistenceUnitInfoImpl.initializeEntityManagerFactory (BasePersistenceUnitInfoImpl.java:386) で
        weblogic.deployment.BasePersistenceUnitInfoImpl.(BasePersistenceUnitInfoImpl.java:158) で
        weblogic.deployment.PersistenceUnitInfoImpl.(PersistenceUnitInfoImpl.java:39) で
        weblogic.deployment.AbstractPersistenceUnitRegistry.storeDescriptors(AbstractPersistenceUnitRegistry.java:349) で
        weblogic.deployment.AbstractPersistenceUnitRegistry.loadPersistenceDescriptors(AbstractPersistenceUnitRegistry.java:124) で
        weblogic.deployment.ModulePersistenceUnitRegistry.(ModulePersistenceUnitRegistry.java:58) で
        weblogic.servlet.internal.WebAppModule.setupPersistenceUnitRegistry(WebAppModule.java:1790) で
        weblogic.servlet.internal.WebAppServletContext.initClassLoader(WebAppServletContext.java:3028) で
        weblogic.servlet.internal.WebAppServletContext.(WebAppServletContext.java:447) で
        weblogic.servlet.internal.WebAppServletContext.(WebAppServletContext.java:493) で
        weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:418) で
        weblogic.servlet.internal.WebAppModule.registerWebApp(WebAppModule.java:972) で
        weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:382) で
        weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176) で
        weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199) で
        weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:517) で
        weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) で
        weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:159) で
        weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:45) で
        weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:613) で
        weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) で
        weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:184) で
        weblogic.application.internal.SingleModuleDeployment.prepare(SingleModuleDeployment.java:43) で
        weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154) で
        weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare (AppContainerInvoker.java:60) で
        weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:207) で
        weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:98) で
        weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217) で
        weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747) で
        weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216) で
        weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250) で
        weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159) で
        weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171) で
        weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13) で
        weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46) で
        weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528) で
        weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) で
        weblogic.work.ExecuteThread.run(ExecuteThread.java:178) で

誰か知ってる?

(weblogic 11g でのデプロイ中
のエラー) 1) エラーは何ですか?
2) このエラーの理由は何ですか?
3)jarファイルが必要なwarファイル内。かかりませんか?
4)jarの競合はありますか?

4

3 に答える 3

10

weblogic.xmlこれをファイルに追加します。

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app ...>
    ...
    <container-descriptor>
        <prefer-application-packages>
            <package-name>antlr.*</package-name>
            <package-name>org.hibernate.*</package-name>
            <package-name>javax.persistence.*</package-name>
        </prefer-application-packages>
    </container-descriptor>
</weblogic-web-app>

で試してみましたが<prefer-web-inf-classes>true</prefer-web-inf-classes>、うまくいきませんでした。私は Weblogic 11g (10.3.6)、Hibernate 4.1.9、および Spring 3.2.1 を使用しています。これにより、永続性が魅力のように機能します。

ソースはこちら

于 2013-02-18T12:29:26.860 に答える
6

weblogic.xmlファイルをweb-infに追加し、その中に以下を配置します

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">
<container-descriptor>
        <prefer-web-inf-classes>true</prefer-web-inf-classes>
    </container-descriptor>
</weblogic-web-app>`
于 2012-05-15T18:31:48.987 に答える