如何修改Oracle 12c中的weblogic-application.xml

时间:2017-03-08 19:47:07

标签: migration weblogic

迁移到JDEV 12c后,我遇到了这样的问题: java.lang.UnsupportedOperationException:这个DocumentBuilder," oracle.xml.jaxp.JXDocumentBuilder",不支持重置功能

我在应用程序的已部署文件夹中找到: C:\ Users \ myname \ AppData \ Roaming \ JDeveloper \ system12.2.1.2.42.161008.1648 \ o.j2ee \ drs \ myApp \ META-INF ,有" weblogic-application.xml"我的应用程序代码库中根本不存在的文件。每次启动应用程序时,此文件似乎都会自动生成。

通过比较这个" weblogic-application.xml"在12c和11g之间,它表明在12c中,还有一个额外的元素:

<xml>
    <parser-factory>
      <saxparser-factory>oracle.xml.jaxp.JXSAXParserFactory</saxparser-factory>
      <document-builder-factory>oracle.xml.jaxp.JXDocumentBuilderFactory</document-builder-factory>
      <transformer-factory>oracle.xml.jaxp.JXSAXTransformerFactory</transformer-factory>
    </parser-factory>
  </xml>

这个元素根本没有出现在11g的副本中。我怀疑这可能是错误的原因。

所以,我的问题是:如何控制这个&#34; weblogic-application.xml&#34;?我想尝试删除此元素。但是我不知道如何实现这一点,因为这个文件在我的应用程序代码库中不存在。

谢谢,

肖恩

P.S。 我找到了几个&#34; weblogic-application.xml&#34;在我的应用程序中,但没有一个具有该元素。这个元素来自哪里?!

1 个答案:

答案 0 :(得分:0)

对于我的情况,事实证明12c中的这个jar文件xmlparserv2.jar已被更改,以便在&#34; oracle.xml.jaxp.JXDocumentBuilder&#34;中使用reset()方法。根本没有实现,因此抛出UnsupportedOperationException异常。对于我的应用程序,它应该从这个jar文件中选择一个:xercesImpl.jar。

所以解决方法是从ear文件中删除xmlparserv2.jar,以便拾取xercesImpl.jar中的类。