Eclipse无法在weblogic上部署爆炸的耳朵

时间:2014-07-29 08:19:14

标签: java eclipse java-ee weblogic ear

我收到以下错误:

####<2014-07-29 09:48:31 CEST> <Error> <Deployer> <PL-00032WS455> <pnb> <[STANDBY] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1406620111037> <BEA-149265> <Failure occurred in the execution of deployment request with ID "1406620094715" for task "3". Error is: "weblogic.management.DeploymentException: "^M
weblogic.management.DeploymentException: ^M
        at weblogic.persistence.PersistenceDeployment$PersistenceDeploymentExtension.init(PersistenceDeployment.java:66)^M
        at weblogic.application.internal.flow.CreateAppDeploymentExtensionsFlow.prepare(CreateAppDeploymentExtensionsFlow.java:44)^M
        at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:706)^M
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)^M
        at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:237)^M
        at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:61)^M
        at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:158)^M
        at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)^M
        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:207)^M
        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:96)^M
        at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:229)^M
        at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747)^M
        at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)^M
        at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)^M
        at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)^M
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171)^M
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13)^M
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)^M
        at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)^M
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)^M
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)^M
Caused By: weblogic.application.naming.EnvironmentException: duplicate persistence units with name sbiu-pl in scope pnb-cti-ear. First PU location: file:/C:/Oracle/Middleware/user_projects/domains/my_dom/servers/pnb/tmp/_WL_user/pnb-cti-ear/6rli5f/APP-INF/lib/solo-db-1.4.jar/. Second PU location: file:/C:/Users/m337951/workspace/TRUNK_ECLIPSE/.metadata/.plugins/org.eclipse.core.resources/.projects/pnb-cti-ear/beadep/my_dom/pnb-cti-ear/APP-INF/lib/solo-db-1.4.jar/^M
        at weblogic.persistence.AbstractPersistenceUnitRegistry.assertNoDuplicate(AbstractPersistenceUnitRegistry.java:383)^M
        at weblogic.persistence.AbstractPersistenceUnitRegistry.processDescriptor(AbstractPersistenceUnitRegistry.java:362)^M
        at weblogic.persistence.AbstractPersistenceUnitRegistry.loadPersistenceDescriptor(AbstractPersistenceUnitRegistry.java:259)^M
        at weblogic.persistence.AbstractPersistenceUnitRegistry.loadPersistenceDescriptors(AbstractPersistenceUnitRegistry.java:118)^M
        at weblogic.persistence.EarPersistenceUnitRegistry.<init>(EarPersistenceUnitRegistry.java:52)^M
        at weblogic.persistence.PersistenceDeployment$PersistenceDeploymentExtension.init(PersistenceDeployment.java:62)^M
        at weblogic.application.internal.flow.CreateAppDeploymentExtensionsFlow.prepare(CreateAppDeploymentExtensionsFlow.java:44)^M
        at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:706)^M
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)^M
        at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:237)^M
        at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:61)^M
        at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:158)^M
        at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)^M
        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:207)^M
        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:96)^M
        at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:229)^M
        at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747)^M
        at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)^M
        at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)^M
        at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)^M
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171)^M
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13)^M
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)^M
        at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)^M
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)^M
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)^M

在将weblogic切换到非暂存模式并将发布模式切换为爆炸后,我开始收到此错误。我想保持这个设置,以便fastswap工作,但我现在根本无法发布模块。看起来eclipse试图两次发布一个模块,一次在.metadata中,第二次在weblogic域文件夹中。为什么会发生这种情况,我该如何解决这个问题。作为一个打包的耳朵发布工作和发布作为一个爆炸的耳朵而不使用eclipse也可以工作(只是由命令行maven制作的控制台和爆炸耳机)。

编辑:我在eclipse中使用服务器选项卡发布,右键单击weblogic并选择“发布”(以及“清理”)。

EDIT2:我在上面的异常之前发现的日志中发现了以下异常。看起来weblogic试图删除额外的冗余包,但是失败了,这反过来又为下一个异常设置了阶段。

####<2014-07-29 12:14:08 CEST> <Warning> <Deployer> <PL-00032WS455> <pnb> <[STANDBY] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1406628848672> <BEA-149251> <Operation Remove failed for application "pnb-cti-ear". Error: java.lang.NullPointerException
java.lang.NullPointerException
    at weblogic.servlet.internal.WebAppModule.remove(WebAppModule.java:851)
    at weblogic.application.internal.flow.ModuleStateDriver$4.previous(ModuleStateDriver.java:236)
    at weblogic.application.internal.flow.ModuleStateDriver$4.previous(ModuleStateDriver.java:223)
    at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:148)
    at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:138)
    at weblogic.application.internal.flow.ModuleStateDriver.remove(ModuleStateDriver.java:104)
    at weblogic.application.internal.flow.ScopedModuleDriver.remove(ScopedModuleDriver.java:236)
    at weblogic.application.internal.ExtensibleModuleWrapper.remove(ExtensibleModuleWrapper.java:154)
    at weblogic.application.internal.flow.ModuleListenerInvoker.remove(ModuleListenerInvoker.java:157)
    at weblogic.application.internal.flow.ModuleStateDriver$4.previous(ModuleStateDriver.java:236)
    at weblogic.application.internal.flow.ModuleStateDriver$4.previous(ModuleStateDriver.java:223)
    at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:148)
    at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:138)
    at weblogic.application.internal.flow.ModuleStateDriver.remove(ModuleStateDriver.java:104)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.remove(DeploymentCallbackFlow.java:191)
    at weblogic.application.internal.BaseDeployment$3.previous(BaseDeployment.java:758)
    at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:148)
    at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:138)
    at weblogic.application.internal.BaseDeployment.remove(BaseDeployment.java:323)
    at weblogic.application.internal.EarDeployment.remove(EarDeployment.java:61)
    at weblogic.application.internal.DeploymentStateChecker.remove(DeploymentStateChecker.java:216)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.remove(AppContainerInvoker.java:135)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.silentRemove(AbstractOperation.java:451)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCancel(ActivateOperation.java:132)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.silentCancelOnPrepareFailure(AbstractOperation.java:423)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:101)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:229)
    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: java.lang.NullPointerException
    at weblogic.servlet.internal.WebAppModule.remove(WebAppModule.java:851)
    at weblogic.application.internal.flow.ModuleStateDriver$4.previous(ModuleStateDriver.java:236)
    at weblogic.application.internal.flow.ModuleStateDriver$4.previous(ModuleStateDriver.java:223)
    at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:148)
    at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:138)
    at weblogic.application.internal.flow.ModuleStateDriver.remove(ModuleStateDriver.java:104)
    at weblogic.application.internal.flow.ScopedModuleDriver.remove(ScopedModuleDriver.java:236)
    at weblogic.application.internal.ExtensibleModuleWrapper.remove(ExtensibleModuleWrapper.java:154)
    at weblogic.application.internal.flow.ModuleListenerInvoker.remove(ModuleListenerInvoker.java:157)
    at weblogic.application.internal.flow.ModuleStateDriver$4.previous(ModuleStateDriver.java:236)
    at weblogic.application.internal.flow.ModuleStateDriver$4.previous(ModuleStateDriver.java:223)
    at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:148)
    at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:138)
    at weblogic.application.internal.flow.ModuleStateDriver.remove(ModuleStateDriver.java:104)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.remove(DeploymentCallbackFlow.java:191)
    at weblogic.application.internal.BaseDeployment$3.previous(BaseDeployment.java:758)
    at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:148)
    at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:138)
    at weblogic.application.internal.BaseDeployment.remove(BaseDeployment.java:323)
    at weblogic.application.internal.EarDeployment.remove(EarDeployment.java:61)
    at weblogic.application.internal.DeploymentStateChecker.remove(DeploymentStateChecker.java:216)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.remove(AppContainerInvoker.java:135)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.silentRemove(AbstractOperation.java:451)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCancel(ActivateOperation.java:132)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.silentCancelOnPrepareFailure(AbstractOperation.java:423)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:101)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:229)
    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)
> 

EDIT3:当通过weblogic控制台部署由eclipse(.metadata目录中的那个)准备的软件包时,我得到了相同的错误(重复持久性单元)。此程序包与命令行maven通过将所有子模块解压缩(爆炸)而不同。

如果您能对此问题有所了解,请提供帮助。解决方法也有帮助(可能有一种方法可以将fastswapping与手动部署的爆炸dir链接起来?)

0 个答案:

没有答案