一段时间后,我再次尝试使用激活器运行一个非常简单的 OSGi“Hello World”式示例,并为 org.osgi.framework.BundleActivator 获得了 ClassNotFoundException(请参阅下面的堆栈跟踪)。
环境是基本的 Equinox (org.eclipse.osgi_3.7.2...)。所有 bundle (除了我的)都是活跃的。我在 list 中的“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。
关于java - 尽管有 Import-Package,但 org.osgi.framework.BundleActivator 的 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32179689/