【问题标题】:How does eclipse know what OSGi bundles there are that can be depended on?eclipse 如何知道可以依赖哪些 OSGi 包?
【发布时间】:2014-02-09 09:17:38
【问题描述】:

Given 是使用“Hello RCP”模板创建的两个“插件项目”的简单设置。

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

据我了解,此列表包含当前目标平台的所有插件以及我的工作区中可用的插件。我的问题是关于后者。这些捆绑包位于哪里?我只在项目的 bin 目录中看到 .class 文件。

【问题讨论】:

    标签: java eclipse eclipse-plugin eclipse-rcp


    【解决方案1】:

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

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

    【讨论】:

    • "项目运行时包的位置将是工作区中相应的项目文件夹。"因此,如果我理解正确,从 Eclipse 运行时会构建 jar 吗?能不能具体说一下地点?我似乎找不到他们。
    • 没有构建 jars。相反,包是项目文件夹——类似于外部 OSGI 包,它们不位于 jar 文件中,而是位于文件夹中。
    【解决方案2】:

    不确定我是否理解您的问题。

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

    编辑:

    插件可以直接从项目中运行,无需打包到 JAR 中。通常这不是问题,但它可能会导致资源路径在测试期间工作但在将插件放入 jar 时失败。

    【讨论】:

    • 对于我有点含糊的问题,我深表歉意。我真正想知道的是:当我运行其中一个项目时,eclipse 将我的包放在哪里? (包含清单的 .jar)或者这个包根本没有创建?
    猜你喜欢
    • 1970-01-01
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-27
    • 2013-07-01
    • 1970-01-01
    相关资源
    最近更新 更多