我在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进行构建,但它也无法正常工作。
已知的解决方法:
如果有人找到maven的解决方法,我会很高兴知道它。
答案 0 :(得分:7)
也许你已经将你的插件设置为单例,因此只有一个具有特定id的包的实例。 您可以通过删除MANIFEST.MF中的“singleton:= true”来更改此项。
Bundle-SymbolicName: org.eclipse.xxx; singleton:=true
或者,您可以在开始运行时从运行配置中删除1.0.2版本插件。点击运行 - >运行配置以打开运行配置拨号,切换到“插件”选项卡,在这里您可以选择要使用的这些插件。
答案 1 :(得分:4)
我认为您已经尝试过以下操作,但重新加载目标平台可能有所帮助。 另外,您的feature.xml文件为该插件的版本指定了什么?