1

我正在 Equinox 上下文中开发插件。我已经设置了一个目标平台,其中包含我的插件所依赖的 Equinox 插件。

现在因为我需要一些新组件,所以我创建了一个混合目标平台,由现有平台和一些来自我正在开发的 Eclipse 的附加插件组成。

一旦我混合了这些平台(都是 3.8),我的所有插件都显示错误,几乎所有问题都无法解决,例如“org.eclipse.*”,尽管它们肯定存在于目标平台中。

当我删除附加组件时,所有旧组件都可以再次解决。有任何想法吗?

4

1 回答 1

3

似乎您正试图在目标平台中包含某些捆绑包的多个版本,同时对软件站点位置使用所谓的“规划器模式”。(在目标编辑器 UI中,规划器模式对应于选择“包含所需软件”选项。)

在这种模式下,p2 获取您选择的特征以及所有传递依赖项。此解决方案的完成方式就像您尝试将选定的功能安装到 Eclipse 中一样。如果您包含多个版本的单例捆绑包(大多数 Eclipse 平台捆绑包都是),则此解决方案将失败。

所以如果你需要在目标平台有多个版本,你需要使用“切片器模式”(相当于取消选择“包含所需软件”)。请注意,在此模式下,仅将功能及其包含的捆绑包添加到目标平台。如果在使用切片器模式激活目标平台后缺少依赖项,您可能需要添加更多功能。

于 2013-07-26T14:18:50.167 回答