我尝试在较长一段时间后再次使用激活器运行一个非常简单的 OSGi“Hello World”风格的示例,并得到 org.osgi.framework.BundleActivator 的 ClassNotFoundException(请参阅下面的堆栈跟踪)。
环境是基本的 Equinox (org.eclipse.osgi_3.7.2...)。所有捆绑包(除了我的)都处于活动状态。我在清单的“Import-Package”声明中有“org.osgi.framework”,并且我可以在 Eclipse 的包依赖项中看到该类。
有人可以给我一些提示,告诉我如何解决这个问题吗?
亲切的问候,
安德烈
Caused by: java.lang.ClassNotFoundException: org.osgi.framework.BundleActivator
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 30 more
很抱歉自己回答这个问题,但其他人可能也有类似的令人困惑的问题。发生的情况是,有一个第三方库(在本例中为 Jersey)需要我包含的较新版本的 OSGi。因此,该库无法找到 BundleActivator(正确版本)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)