gpt4 book ai didi

java - 为什么我不能访问目标定义中的所有插件?

转载 作者:太空狗 更新时间:2023-10-29 22:56:54 24 4
gpt4 key购买 nike

我对 Eclipse 中的目标定义有疑问。我想使用我的目标平台定义中的插件版本 1.0.0,而我的工作区中的插件项目版本为 1.0.2。对于我的目标定义中的所有其他插件,一切都按预期工作(我看到这是因为如果缺少某些东西会标记错误),但是这个特定的插件,Eclipse 不能用于我的项目。只有插件版本 1.0.2 是。该插件未设置为单例。

为什么会这样,我该如何解决这个问题?


我发现当我关闭包含错误版本的项目时我可以访问正确的版本 - 但这很尴尬,还有其他方法吗?


它似乎实际上不是特定于 eclipse 的问题,它在通过 maven/tycho 在命令行上构建时也会失败。具体来说,我的目标平台是 Juno Release。是否有插件虽然是功能的一部分,但不能用于其他 bundle ?我知道插件在那里,但 tycho 和 Eclipse 都不想让我使用它。

也许我还应该说它在编译时失败了。


虽然,正如我所说,这个问题存在解决方法,但我仍然希望有一个“不错”的解决方案来解决这个问题。您可以在 https://github.com/kutschkem/Jayes 查看项目和目标定义。

您可能还需要先 checkout 并构建此项目:git 克隆 http://git.eclipse.org/gitroot/recommenders/org.eclipse.recommenders.git

设置目标平台后,尝试使用 Jayes 1.0.0(在目标平台中)而不是 Jayes 1.0.2(在您的工作区中)构建一些东西。您也可以尝试使用 maven 进行构建,但效果不佳。

已知的解决方法:

  1. 关闭 Jayes 1.0.2 项目。然后,eclipse 让你使用 Jayes 1.0.0
  2. 要运行 (OSGi) 应用程序,您可以选择加载哪些包。您可以在那里手动选择版本 1.0.0
  3. 使用产品定义,您可以访问与解决方法 2 相同的运行时配置

如果有人找到了 maven 的解决方法,我很乐意知道。

最佳答案

也许您已将您的插件设置为单例,因此对于具有特定 ID 的 bundle 将只有一个实例。您可以通过删除 MANIFEST.MF 中的“singleton:=true”来更改此设置。

Bundle-SymbolicName: org.eclipse.xxx; singleton:=true

或者,您可以在开始运行时从运行配置中删除 1.0.2 版本的插件。点击run --> run configuration打开run configuration dialgo,切换到'plugins'选项卡,在这里你可以选择你想使用的插件。

关于java - 为什么我不能访问目标定义中的所有插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13815711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com