The error is weblogic.descriptor.DescriptorException: Unmarshaller failed

阅读更多

部署 web project 到weblogic92(换成10.3就不会出问题了)上后,错误解决

常见错误Unmarshaller failed:
WEB-INF/web.xml of module webProject. The error is weblogic.descriptor.DescriptorException: Unmarshaller failed

 at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor

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

 at com.bea.staxb.runtime.internal.UnmarshalResult.getPojoBindingType

......

问题描述:

Weblogic9.2 不支持用 MyEclipse 自动生成2.5版本的web.xml,如下:

                      xmlns="http://java.sun.com/xml/ns/javaee" 

                      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

                      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 

                      http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

新建项目 采用 J2EE1.4


xmlns="http://java.sun.com/xml/ns/j2ee"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
                   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

解决办法:

1.web.xml文件改成2.4版本

将下面内容,覆盖你原有的web.xml文件

 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

2.增加 weblogic 上下文根:

   解决方法是:在项目的WEB-INF/下面增加一个 weblogic.xml文件  里面写上:

    

   

   PUBLIC  "-//BEA Systems, Inc.//DTD Web Application 8.1//EN"  

   "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd" >    

  

< weblogic-web-app >    

   

      < context-root > /webLogicDemo/    

  

以上两种方法感觉第一种方法实用,第二种没有试成功

你可能感兴趣的:(weblogic,web,xml,企业应用,Struts)