Build Eclipse RCP-导出错误的插件版本

Build Eclipse RCP-导出错误的插件版本,build,osgi,eclipse-rcp,Build,Osgi,Eclipse Rcp,我有一个带有基于插件的产品配置的Eclipse4应用程序项目。所有必要的插件都被添加到.product文件的dependencies选项卡中&使用该.product文件生成运行配置是完美的。但是当将.product导出为eclipse产品时,它不起作用——这可能是因为导出了一些插件的错误版本 错误日志包含如下消息: org.osgi.framework.BundleException: Could not resolve module: org.eclipse.e4.ui.css.swt [24

我有一个带有基于插件的产品配置的Eclipse4应用程序项目。所有必要的插件都被添加到.product文件的dependencies选项卡中&使用该.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作为版本号-但也不起作用(依赖项旁边有一个小的红色标记,但没有显示错误-导出产品中的行为保持不变)


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

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


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

我遇到了相同的问题,但我找到了解决此问题的其他可能的解决方案

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


然后会导出许多不同版本的插件,问题得到解决,尽管我仍然不知道原因。

红色X肯定会告诉您存在问题,问题视图中可能会有一条消息。一定有1.6.0版本的插件在哪里?找到它可能会暗示这个问题。