Java Liberty概要文件:无法从OSGi捆绑包中的运行时导入xml.jar中的类

Java Liberty概要文件:无法从OSGi捆绑包中的运行时导入xml.jar中的类,java,osgi,osgi-bundle,websphere-liberty,Java,Osgi,Osgi Bundle,Websphere Liberty,我在liberty profile中部署了一个ear应用程序。我还将OSGi捆绑包作为产品扩展部署在/wlp/usr/extension中 在其中一个OSGi包中,它引用jre运行时的xml.jar中的类。i、 e org.apache.xpath.XPathParser或javax.xml.parsers.DocumentBuilderFactory。在运行时,当调用代码的这些部分时,我遇到了ClassNotFoundException 我试图在OSGi的包清单文件中导入这些类的包。但当lib

我在liberty profile中部署了一个ear应用程序。我还将OSGi捆绑包作为产品扩展部署在/wlp/usr/extension中

在其中一个OSGi包中,它引用jre运行时的xml.jar中的类。i、 e org.apache.xpath.XPathParser或javax.xml.parsers.DocumentBuilderFactory。在运行时,当调用代码的这些部分时,我遇到了ClassNotFoundException

我试图在OSGi的包清单文件中导入这些类的包。但当liberty启动时,我的包将无法加载。trace.log中的错误表示缺少导入的包,即org.apache.xpath

在自由方面使用jre的库有限制吗?你知道怎么回事吗


多谢各位

导入捆绑清单中的包是正确的做法。捆绑包无法启动的事实是系统提前告诉您存在问题的方式。您可能需要在产品扩展中显式地包含Apache xpath库,因为JRE的xml.jar中没有提供Apache类。

请参阅的答案,它们也有相同的问题。谢谢。我已经检查了org.apache.xpath类是否与其他一些apache库(如xerces)一起包含在xml.jar中。我试图显式地包含xml.jar,因为xerces,我有另一个例外。我将尝试获取xpath jar并单独包含它。稍后更新的结果表明,Liberty概要文件限制了Apache对那些特定于实现的类的访问,并且只允许访问JAXP类。我正在迁移使用库特定类的代码,以前在上运行时没有任何问题。显式添加XPathJAR文件帮助。