【问题标题】:Eclipse RCP - Wrong plugin version gets exportedEclipse RCP - 错误的插件版本被导出
【发布时间】:2015-10-18 10:03:14
【问题描述】:

我有一个带有基于插件的产品配置的 eclipse 4 应用程序项目。所有必要的插件都添加到 .product 文件的依赖项选项卡中,并从此 .product 文件生成运行配置完美无缺。但是当将 .product 导出为 eclipse 产品时,它不起作用 - 原因可能是导出了一些插件的错误版本。

错误日志包含如下消息:

org.osgi.framework.BundleException: Could not resolve module: org.eclipse.e4.ui.css.swt [24]
  Unresolved requirement: Require-Bundle: org.eclipse.e4.ui.css.core; bundle-version="0.9.0"
    -> Bundle-SymbolicName: org.eclipse.e4.ui.css.core; bundle-version="0.11.0.v20150511-1937"; singleton:="true"
       org.eclipse.e4.ui.css.core [23]
         Unresolved requirement: Require-Bundle: org.apache.batik.css; bundle-version="1.7.0"

    at org.eclipse.osgi.container.Module.start(Module.java:434)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

问题是,在 /plugins/ 文件夹中,我只有 org.apache.batik.css 的 v1.6.0,无论我尝试什么,我都无法让 eclipse 导出 v1.7.0(但在运行配置本身中,我可以看到使用的是1.7.0)。

我尝试使用“依赖项”选项卡上的“属性...”按钮并将 1.7.0 指定为版本号 - 但也没有工作(依赖项旁边有一个小红色标记,但没有显示错误- 出口产品的行为保持不变)。

我在这里做错了什么吗?如何控制导出的插件版本?

【问题讨论】:

  • 那个红色的 X 肯定是在告诉你有问题,问题视图中可能有一条消息。某处必须有 1.6.0 版本的插件 - 它在哪里?找到它可能会提示有关该问题。

标签: build osgi eclipse-rcp


【解决方案1】:

在尝试了所有可能的组合之后,我终于找到了为什么它一开始就不起作用的错误:

仅在依赖项选项卡上指定版本号是不够的,还需要准确构建插件时的时间戳。所以我必须指定1.7.0.v20101104133 而不是1.7.0(也与运行配置中显示的完全相同)。这解决了问题,导出最终使用了与运行配置相同的插件版本。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,但我找到了解决这个问题的另一个可能的解决方案。

    如果在导出产品时勾选了“生成 p2 存储库”。

    然后会有很多不同版本的插件被导出,问题解决了,一直不知道是什么原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-30
      • 2012-06-15
      • 1970-01-01
      • 2022-11-11
      • 1970-01-01
      • 2017-12-19
      • 2015-01-31
      • 1970-01-01
      相关资源
      最近更新 更多