我尝试使用 maven-bundle-plugin 将 axis2 (v. 1.5.1) 及其依赖项嵌入到 osgi 包中。在我的项目的 pom 中,我有以下标签:
<Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
<Embed-Transitive>true</Embed-Transitive>
为了将所有axis2依赖项(和传递的依赖项)嵌入到最终的jar文件中。jar 文件可以在 Felix 中成功安装,但问题是当另一个包尝试使用该 jar 类中的方法时,我得到了异常:
javax.xml.stream.FactoryConfigurationError: Requested factory
com.ctc.wstx.stax.WstxInputFactory cannot be located.
Classloader =sun.misc.Launcher$AppClassLoader@9cab16
该类com.ctc.wstx.stax.WstxInputFactory
位于woodstox wstx-asl
嵌入到 jar 中的工件中,因此不应抛出此异常。我也尝试将此工件放入另一个包中,但发生相同的错误。
这里有什么问题?
在这个讨论中,他们说这是一个类加载器问题,但我找不到任何解决方案。
谢谢