我正在浏览这个OSGi教程(使用Eclipse,安装了PDE插件):
http://www.vogella.com/tutorials/OSGi/article.html
直到任务10一切正常。但现在我有一个问题:
" Import-Package:org.osgi.framework; version =" 1.3.0" (这是自动生成的,可能是因为生成的Activator类)显示以下错误: "没有可用的捆绑出口包' org.osgi.framework'"
在Activator类中,我也遇到了BundleActivator和BundleContext等类的解决错误。我通过使用外部jar(org.eclipse.osgi)解决了这个问题,但是我很确定这不是正确的方法,因为你应该声明任何依赖关系。 MANIFEST文件。
但是如何添加org.eclipse.osgi jar以使清单中的导入包行足够?
我的整个清单文件:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Internal
Bundle-SymbolicName: com.osgi.beispiel.one.bundle.internal
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: com.osgi.beispiel.one.bundle.Activator
Bundle-Vendor: OSGI
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: org.osgi.framework;version="1.3.0"
Bundle-ActivationPolicy: lazy
答案 0 :(得分:1)
我工作区中“没有可用的捆绑导出包'org.osgi.framework'”的原因是$ {eclipse_home}无效。 “窗口 - 首选项 - 目标平台 - 运行平台”上的复选框标有红色图标。我按照“编辑...”,选择“$ {eclipse_home}”,“编辑...”,然后选中“此安装使用默认配置区域”。离开对话框后,单击“完成”。 “好的”,问题解决了。
答案 1 :(得分:0)
将org.eclipse.osgi
添加到MANIFEST.MF编辑器中的Dependencies选项卡的'Required Plugins'部分(这将向MANIFEST.MF添加'Require-Bundle'行)。
答案 2 :(得分:0)