java - 尽管有 Import-Package,但 org.osgi.framework.BundleActivator 的 ClassNotFoundException

标签 java osgi equinox

一段时间后,我再次尝试使用激活器运行一个非常简单的 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/

相关文章:

java - OSGi 包 list 中的包类路径的字符限制?

java - 无法在项目 inv-project 上执行目标 org.codehaus.mojo :rpm-maven-plugin:2. 0.1:rpm (default-cli)

java - 针对 Java 整数常量扩展提出适当的设计建议

java - 在 Java 中运行 Javascript 表单请求

java - Eclipse OSGi Framwork 启动器可用 bundle

java - 手动安装 bundle 时,OSGi 声明式服务不会绑定(bind)服务

eclipse - 哪个版本的 OSGi 由哪个版本的 Eclipse/Equinox 实现?

java - 命令行 Java 调试器

osgi - 系统 bundle 如何访问系统包?

java - OSGi环境下能否实现单例