2017-03-08 65 views
0

迁移到JDEV 12c后,我遇到了这样的问题:java.lang.UnsupportedOperationException:此DocumentBuilder“oracle.xml.jaxp.JXDocumentBuilder”不支持复位功能如何修改Oracle 12c中的weblogic-application.xml

我在我的应用程序部署的文件夹中找到:C:\用户\ MYNAME \应用程序数据\漫游\的JDeveloper \ system12.2.1.2.42.161008.1648 \ o.j2ee \ DRS \对myApp \ META-INF,有一个“weblogic-application.xml”文件,它根本不存在于我的应用程序代码库中。每次启动应用程序时,该文件似乎都会自动生成。

通过比较12C和11g之间的“的weblogic-application.xml中”,这表明,在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的副本出现在所有。我怀疑这可能是错误的原因。

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

感谢,

肖恩

附: 我在应用程序中发现了一些“weblogic-application.xml”,但没有一个具有该元素。这个元素来自哪里?

回答

0

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

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