a13698822086 发表于 2017-2-17 06:56:57

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 >   
  以上两种方法感觉第一种方法实用,第二种没有试成功
页: [1]
查看完整版本: The error is weblogic.descriptor.DescriptorException: Unmarshaller failed