2014-02-09 61 views
0

鉴于使用“Hello RCP”模板创建的两个“插件项目”的简单设置。eclipse如何知道可以依赖的OSGi捆绑包?

当导航到一个项目的清单并通过单击“添加...”打开依赖项选项卡上的“插件选择”对话框时,会显示一个可以从项目中获取的插件列表。

根据我的理解,此列表包含当前目标平台的所有插件和我的工作区中提供的插件。我的问题是关于后者。这些软件包位于哪里?我只能在项目的bin目录中看到.class文件。

回答

2

捆绑包的实际jar文件不在任何位置 - 一旦运行OSGI项目,捆绑将自动创建并由Eclipse解析。如果你想在Eclipse之外使用这些bundle,你首先需要导出它们。项目运行时,软件包的位置将是工作区中相应的项目文件夹。

此外,“plugin.xml”或“manifest.mf”等任何附加资源都不包含在项目的二进制文件夹中,而是列在清单文件的“构建”部分下。

+0

“运行项目时,捆绑包的位置将是工作区中相应的项目文件夹。” 所以如果我理解正确的话,从eclipse运行时,jar的内容会被构建吗?你可以更具体的位置?我似乎无法找到它们。 –

+0

没有罐子建成。相反,捆绑包是项目文件夹 - 类似于不在jar文件中而是位于文件夹中的外部OSGI捆绑包。 – Balder

1

不知道我理解你的问题。

工作区中的插件是在MANIFEST.MF中有Bundle-SymbolicName的项目,通常这些将由File > New > Project > Plug-in Project向导创建。

编辑:

插件可以直接从项目没有被打包到一个JAR运行。一般来说,这不是问题,但它会导致测试过程中资源的工作路径出现问题,但当插件放入jar时会失败。

+0

我对我有些模糊的问题表示歉意。我真正想知道的是以下内容:当我运行其中一个项目时,eclipse在哪里放置捆绑包? (包含清单的.jar)还是这个包完全没有创建? –

+0

添加了更多信息 –

相关问题