迁移到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;在我的应用程序中,但没有一个具有该元素。这个元素来自哪里?!
答案 0 :(得分:0)
对于我的情况,事实证明12c中的这个jar文件xmlparserv2.jar已被更改,以便在&#34; oracle.xml.jaxp.JXDocumentBuilder&#34;中使用reset()方法。根本没有实现,因此抛出UnsupportedOperationException异常。对于我的应用程序,它应该从这个jar文件中选择一个:xercesImpl.jar。
所以解决方法是从ear文件中删除xmlparserv2.jar,以便拾取xercesImpl.jar中的类。