【问题标题】:Eclipse Mars : The import org.osgi cannot be resolvedEclipse Mars:无法解析导入 org.osgi
【发布时间】:2015-12-08 14:46:23
【问题描述】:

我正在使用 Eclipse Mars(最新版本)创建一个带有 Activator 类的 OSGI 包。 为此,我在创建时使用插件项目选择“OSGI 框架”到“标准”(但如果我选择“Equinox”,我会得到相同的结果)。 Activator 类目前为空,但编译器已经向我提出以下错误:

导入 org.osgi 无法解析 BundleActivator 无法解析为类型 BundleContext 无法解析为类型

为什么?

谢谢, 保罗。

【问题讨论】:

标签: java eclipse eclipse-plugin osgi osgi-bundle


【解决方案1】:

为了解决这个问题,我在项目的清单文件中添加了依赖项

转到项目中出现错误的 META-INF 文件夹 --> MANIFEST.MF --> 依赖项 --> 所需插件 --> 在那里搜索并添加所有 OSGI 插件并保存

【讨论】:

    【解决方案2】:

    我终于解决了。

    没有选择目标平台。

    保罗。

    【讨论】:

    • 听起来您正在使用 PDE。您需要使用此工具有什么原因吗?
    • 我是 OSGi 新手,根据我的理解(按照一些在线教程),PDE 是在 Eclipse 下创建 OSGi 包的方法,是不是错了?
    • PDE 是创建 OSGi 包的一种方法。不是唯一的方法,也可能不是最好的。您可能想查看Bndtools。诚然,作为创始人和首席开发人员,我有偏见……但它很受欢迎。
    • 但是使用 Apache Felix 可以工作.. 但是使用 Equinox 控制台无法启动。创建新的运行描述符时会发生这种情况,我选择带有内置控制台的 Equinox 而不是 Apache Felix。有什么想法吗?
    • 不幸的是,Equinox 需要设置配置属性才能启用控制台。您只需要将行 -runproperties: osgi.console 添加到您的 bndrun 文件中。顺便说一下,这应该作为一个单独的问题发布,因为可能遇到相同问题的其他人更容易搜索它。
    猜你喜欢
    • 2017-05-12
    • 2020-01-23
    • 2016-02-13
    • 1970-01-01
    • 2020-09-21
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    • 2017-03-25
    相关资源
    最近更新 更多