我正在尝试将复杂的应用程序(jForexAPi、DDS2)放入 OSGi 包中。我制作了两个包含嵌入式依赖项的包,包括编译时间和运行时(传递)。所以我在 .jar 包中有带有 .class-es 的包。
当我尝试使用时,我得到了 ClassNotFoundException,因为 DDS2 实现在运行时通过其线程的类加载器加载类。不知何故像这样:
Class e = Thread.currentThread().getContextClassLoader().loadClass("com.dukascopy.charts.main.DDSChartsControllerImpl");
我有两个问题:
- 如何确定 karaf 中线程的父包?
- 如何解决 OSGi 中的运行时类加载等问题?有没有办法允许或发现运行时类加载?