根据 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 是正确的资源)。我认为这可能是因为它使用了不同的类加载器。
有什么建议么?