我正在 Equinox 上下文中开发插件。我已经设置了一个目标平台,其中包含我的插件所依赖的 Equinox 插件。
现在因为我需要一些新组件,所以我创建了一个混合目标平台,由现有平台和一些来自我正在开发的 Eclipse 的附加插件组成。
一旦我混合了这些平台(都是 3.8),我的所有插件都显示错误,几乎所有问题都无法解决,例如“org.eclipse.*”,尽管它们肯定存在于目标平台中。
当我删除附加组件时,所有旧组件都可以再次解决。有任何想法吗?
我正在 Equinox 上下文中开发插件。我已经设置了一个目标平台,其中包含我的插件所依赖的 Equinox 插件。
现在因为我需要一些新组件,所以我创建了一个混合目标平台,由现有平台和一些来自我正在开发的 Eclipse 的附加插件组成。
一旦我混合了这些平台(都是 3.8),我的所有插件都显示错误,几乎所有问题都无法解决,例如“org.eclipse.*”,尽管它们肯定存在于目标平台中。
当我删除附加组件时,所有旧组件都可以再次解决。有任何想法吗?
似乎您正试图在目标平台中包含某些捆绑包的多个版本,同时对软件站点位置使用所谓的“规划器模式”。(在目标编辑器 UI中,规划器模式对应于选择“包含所需软件”选项。)
在这种模式下,p2 获取您选择的特征以及所有传递依赖项。此解决方案的完成方式就像您尝试将选定的功能安装到 Eclipse 中一样。如果您包含多个版本的单例捆绑包(大多数 Eclipse 平台捆绑包都是),则此解决方案将失败。
所以如果你需要在目标平台有多个版本,你需要使用“切片器模式”(相当于取消选择“包含所需软件”)。请注意,在此模式下,仅将功能及其包含的捆绑包添加到目标平台。如果在使用切片器模式激活目标平台后缺少依赖项,您可能需要添加更多功能。