Weblogic92解析xml时错误!!

在weblogic92上开发一个项目,架构为struts2+spring2+hibernate3,windows环境下一点问题都没有,运行非常好,可在部署linux环境下时,错误多多.
经验:
首先要写一个weblogic.xml文件放在WEB-INF下,其内容:
<?xml version='1.0' encoding='utf-8'?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <container-descriptor>
    <prefer-web-inf-classes>true</prefer-web-inf-classes>
  </container-descriptor>
  <charset-params>
    <input-charset>
      <resource-path>/*</resource-path>
      <java-charset-name>UTF-8</java-charset-name>
    </input-charset>
  </charset-params>
</weblogic-web-app>
如果出现java.lang.ClassCastException: weblogic.xml.jaxp.RegistryDocumentBuilder
这样的错误,则肯定是weblogic解析xml时跟别的包冲突了.我把xercesImpl-2.6.2.jar包去掉后就ok.

网上有人提供下面方法:
This looks similar to a problem we found with the 1.2.8 cert on 9.2. Try this:

Fail to run spring sample petclinic’s unit tests
To define the XML parser class objects in the JAXP properties, add the
following entries to the $java.home/lib/jaxp.properties file:

javax.xml.parsers.DocumentBuilderFactory=weblogic.xml.jaxp.RegistryDocumentBuilderFactory
javax.xml.parsers.SAXParserFactory=weblogic.xml.jaxp.RegistrySAXParserFactory
javax.xml.transform.TransformerFactory=weblogic.xml.jaxp.RegistrySAXTransformerFactory

我经过如此设置后发现weblogic根本没法启动,在解析config.xml文件时就报错.

另外:在weblogic启动脚本里加入变量,修改startWebLogic.sh
$DOMAIN/bin/startWebLogic.sh
在最后面加入
-Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl \



你可能感兴趣的:(spring,xml,linux,weblogic,脚本)