由于某些原因,我们需要来自Oracle XDK的xdb.jar。这个jar依赖于xmlparserv2.jar。实际问题是xmlparserf2.jar附带了一些提供者配置文件(META-INF/services)。该jar具有用于javax.xml.transform.TransferFactory、javax.xml.parsers.SXParserFactoryjavax.xml.parsers.DocumentBuilderFactory的服务提供商。这些实现(来自oracle.*)与我们软件的其他部分无法协同工作(它们需要标准工厂)。
您可以使用单独的类加载器将jar与应用程序的其他部分隔离开来。这个关于的问题涵盖了它。
您可以从xmlparserv2.jar 中删除这些类
请参阅此处-"JNLP类路径优先级1.5 vs 1.6"
我通过删除服务(META-INF/services)解决了这个问题。我们进行了单元测试,一切正常。甚至是我们软件中依赖xmlparserv2.jar/xdb.jar的部分。