The error is weblogic.descriptor.DescriptorException: Unmarshaller failed

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

常见错误Unmarshaller failed:
<Unable to load descriptor D:\bea\user_projects\domains\base_domain\.\autodeploy\demo/
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,如下:

<web-app version="2.5" 

                      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

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.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">
</web-app>

解决办法:

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

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

 <?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.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">

</web-app>

2.增加 weblogic 上下文根:

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

    

<? xml  version = "1.0"  encoding = "GB2312" ?>    

<! DOCTYPE  weblogic-web-app   

   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/ </ context-root >    

</ weblogic-web-app >   

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

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