1

根据 javax.xml.validation.SchemaFactory#newInstance 的 javadoc,我可以指定我想要的 SchemaFactory 实现,方法是在 META-INF/services 中放置一个名为 javax.xml.validation.SchemaFactory 的文件,其中包含所需的类(在我的案例 org.apache.xerces.jaxp.validation.XMLSchemaFactory)。

当我使用 HotSpot JVM 运行 Weblogic 时,这可以正常工作,但是当使用 JRockit JVM 时,它在 META-INF/services 目录中找不到任何内容(我已经在服务器和 javax.xml 中逐步执行了代码。 validation.SchemaFactoryFinder#createServiceFileIterator,对于 JRockit,枚举返回空,但对于 HotSpot 是正确的资源)。我认为这可能是因为它使用了不同的类加载器。

有什么建议么?

4

1 回答 1

1

最后,我通过在 weblogic 启动脚本中设置 -Djavax.xml.validation.SchemaFactory=org.apache.xerces.jaxp.validation.XMLSchemaFactory 解决了这个问题

于 2010-09-08T11:54:21.417 回答