weblogic异常error parsing descriptor in web appplication 解决方法_快乐,幸福的小猪之家

  • Post author:
  • Post category:其他


weblogic异常error parsing descriptor in web appplication 解决方法_快乐,幸福的小猪之家

2011年12月09日

自己的学习历程,伤心事情。朋友的有趣故事。

使用weblogic部署war项目里,有些项目可以部署,但有些不行,出现以下异常。

weblogic 9只支持到j2ee2.4版本建的项目,weblogic 10才可以支持到j2ee 2.5版本建的项目。

异常如下:

An error occurred during activation of changes, please see the log for details.

[HTTP:101064][WebAppModule(OA_Manager0:OA_Manager0 .3.war)] Error parsing descriptor in Web appplication “D:/09projects/OA_Manager0.3/OA_Manager0.3.war” weblogic.application.ModuleException: Unmarshaller failed at weblogic.servlet.internal.WebAppModule.loadDescrip tor(WebAppModule.java:758) at weblogic.servlet.internal.WebAppModule.prepare(Web AppModule.java:260) at weblogic.application.internal.flow.ModuleListenerI nvoker.prepare(ModuleListenerInvoker.java:90) at weblogic.application.internal.flow.DeploymentCallb ackFlow$1.next(DeploymentCallbackFlow.java:318) at weblogic.application.utils.StateMachineDriver.next State(StateMachineDriver.java:26) at weblogic.application.internal.flow.DeploymentCallb ackFlow.prepare(DeploymentCallbackFlow.java:53) at weblogic.application.internal.flow.DeploymentCallb ackFlow.prepare(DeploymentCallbackFlow.java:43) at weblogic.application.internal.BaseDeployment$1.nex t(BaseDeployment.java:615) at weblogic.application.utils.StateMachineDriver.next State(StateMachineDriver.java:26) at weblogic.application.internal.BaseDeployment.prepa re(BaseDeployment.java:236) at weblogic.application.internal.DeploymentStateCheck er.prepare(DeploymentStateChecker.java:147) at weblogic.deploy.internal.targetserver.AppContainer Invoker.prepare(AppContainerInvoker.java:61) at weblogic.deploy.internal.targetserver.operations.A ctivateOperation.createAndPrepareContainer(Activate Operation.java:191) at weblogic.deploy.internal.targetserver.operations.A ctivateOperation.doPrepare(ActivateOperation.java:8 4) at weblogic.deploy.internal.targetserver.operations.A bstractOperation.prepare(AbstractOperation.java:197 ) at weblogic.deploy.internal.targetserver.DeploymentMa nager.handleDeploymentPrepare(DeploymentManager.jav a:724) at weblogic.deploy.internal.targetserver.DeploymentMa nager.prepareDeploymentList(DeploymentManager.java: 1137) at weblogic.deploy.internal.targetserver.DeploymentMa nager.handlePrepare(DeploymentManager.java:224) at weblogic.deploy.internal.targetserver.DeploymentSe rviceDispatcher.prepare(DeploymentServiceDispatcher .java:109) at weblogic.deploy.service.internal.targetserver.Depl oymentReceiverCallbackDeliverer.doPrepareCallback(D eploymentReceiverCallbackDeliverer.java:166) at weblogic.deploy.service.internal.targetserver.Depl oymentReceiverCallbackDeliverer.access$100(Deployme ntReceiverCallbackDeliverer.java:12) at weblogic.deploy.service.internal.targetserver.Depl oymentReceiverCallbackDeliverer$2.run(DeploymentRec eiverCallbackDeliverer.java:54) at weblogic.work.ServerWorkManagerImpl$WorkAdapterImp l.run(ServerWorkManagerImpl.java:518) at weblogic.work.ExecuteThread.execute(ExecuteThread. java:207) at weblogic.work.ExecuteThread.run(ExecuteThread.java :179) Caused by: com.bea.xml.XmlException: failed to load java type corresponding to at com.bea.staxb.runtime.internal.UnmarshalResult.get PojoBindingType(UnmarshalResult.java:325) at com.bea.staxb.runtime.internal.UnmarshalResult.det ermineTypeForGlobalElement(UnmarshalResult.java:292 ) at com.bea.staxb.runtime.internal.UnmarshalResult.det ermineTypeForGlobalElement(UnmarshalResult.java:302 ) at com.bea.staxb.runtime.internal.UnmarshalResult.det ermineRootType(UnmarshalResult.java:283) at com.bea.staxb.runtime.internal.UnmarshalResult.unm arshalDocument(UnmarshalResult.java:153) at com.bea.staxb.runtime.internal.UnmarshallerImpl.un marshal(UnmarshallerImpl.java:65) at weblogic.descriptor.internal.MarshallerFactory$1.c reateDescriptor(MarshallerFactory.java:138) at weblogic.descriptor.DescriptorManager.createDescri ptor(DescriptorManager.java:254) at weblogic.application.descriptor.AbstractDescriptor Loader.createDescriptor(AbstractDescriptorLoader.ja va:359) at weblogic.application.descriptor.CachingDescriptorL oader.superCreateDescriptor(CachingDescriptorLoader .java:166) at weblogic.application.descriptor.CachingDescriptorL oader.access$000(CachingDescriptorLoader.java:31) at weblogic.application.descriptor.CachingDescriptorL oader$IOHelperImpl.parseXML(CachingDescriptorLoader .java:278) at weblogic.descriptor.DescriptorCache.parseXML(Descr iptorCache.java:324) at weblogic.application.descriptor.CachingDescriptorL oader.createDescriptor(CachingDescriptorLoader.java :209) at weblogic.application.descriptor.AbstractDescriptor Loader.createDescriptor(AbstractDescriptorLoader.ja va:328) at weblogic.application.descriptor.AbstractDescriptor Loader.getDescriptor(AbstractDescriptorLoader.java: 237) at weblogic.application.descriptor.AbstractDescriptor Loader.getRootDescriptorBean(AbstractDescriptorLoad er.java:217) at weblogic.servlet.internal.WebAppDescriptor.getWebA ppBean(WebAppDescriptor.java:136) at weblogic.servlet.internal.WebAppModule.loadDescrip tor(WebAppModule.java:754) … 24 more weblogic.application.ModuleException: Unmarshaller failed

failed to load java type corresponding to e=web-app@http://java.sun.com/xml/ns/javaee

解决方法:

问题出现在项目的web.xml文件的声明部分把原来:

改成:

问题就可以解决了。

原因分析:

weblogic不支持J2EE 2.5版本,使用2.5版本会出现解析错误(如上),所以把它改到2.4版本即可。



版权声明:本文为iteye_13236原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。