Search
Calendar
April 2024
S M T W T F S
« Sep    
 123456
78910111213
14151617181920
21222324252627
282930  
Your widget title
Archives

PostHeaderIcon weblogic.management.DeploymentException: Application XYZ is a WAR file, but it contains > 1 component

Case

I have a WAR which exposes RMI services via a servlet. It has perfectly worked for months. This afternoon, while redeploying it I got this error:

weblogic.management.DeploymentException: Application Jonathan-rmi-server is a WAR file, but it contains > 1 component

Complete Stacktrace

weblogic.management.DeploymentException: Application Jonathan-rmi-server is a
WAR file, but it contains > 1 component.
        at weblogic.servlet.internal.WarDeployment.createModule(WarDeployment.java:40)
        at weblogic.servlet.internal.WarDeployment.<init>(WarDeployment.java:27)
        at weblogic.servlet.internal.WarDeploymentFactory.createDeployment(WarDeploymentFactory.java:36)
        at weblogic.application.internal.DeploymentManagerImpl.createDeployment(DeploymentManagerImpl.java:84)
        at weblogic.deploy.internal.targetserver.BasicDeployment.createDeployment(BasicDeployment.java:149)
        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:202)
        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:528)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

Quick fix

Google does not give much information on this error. Anyway, I found this link: WebLogic9 Avoid new lines for attributes in the weblogic.xml . In my case it was not relevant, since my WAR was a classic one, deployable under any application server, and not specifically WebLogic.

Yet, to fix the issue, I had to split the redeploy operation into two phases undeploy and deploy. I could do that either using WebLogic console, or with Maven, ie replacing

mvn package  weblogic:deploy

with

mvn package weblogic:undeploy weblogic:deploy

Leave a Reply