我对 Eclipse 中的目标定义有疑问。我想使用我的目标平台定义中的插件版本 1.0.0,而我的工作区中有版本 1.0.2 的插件项目。对于我的目标定义中的所有其他插件,一切都按预期工作(我看到这是因为如果缺少某些东西会标记错误),但是这个特定的插件,Eclipse 不能用于我的项目。只有插件版本 1.0.2 是。该插件未设置为单例。
为什么会这样,我该如何解决这个问题?
我发现当我关闭包含错误版本的项目时,我可以访问正确的版本——但这很尴尬,还有其他方法吗?
似乎它实际上不是特定于 Eclipse 的问题,当通过 maven/tycho 在命令行上构建时它也会失败。具体来说,我的目标平台是 Juno Release。是否有插件,虽然是功能的一部分,但不可用于其他捆绑包?我知道插件就在那里,但是 tycho 和 Eclipse 都不想让我使用它。
也许我还应该说它在编译时失败。
正如我所说,虽然存在解决该问题的方法,但我仍然希望有一个“好的”解决方案来解决这个问题。您可以在https://github.com/kutschkem/Jayes查看项目和目标定义
您可能还需要先检查并构建此项目: git clone http://git.eclipse.org/gitroot/recommenders/org.eclipse.recommenders.git
设置目标平台后,尝试使用 Jayes 1.0.0(在目标平台中)而不是 Jayes 1.0.2(在您的工作区中)构建一些东西。您也可以尝试使用 maven 构建,但效果不佳。
已知的解决方法:
- 关闭 Jayes 1.0.2 项目。然后,eclipse 让你使用 Jayes 1.0.0
- 为了运行 (OSGi) 应用程序,您可以选择加载哪些包。您可以在那里手动选择版本 1.0.0
- 使用产品定义,您可以访问与解决方法 2 相同的运行时配置
如果有人找到 maven 的解决方法,我很乐意知道。