为什么基于特性的Eclipse应用程序运行配置会包含意外的插件?

为什么基于特性的Eclipse应用程序运行配置会包含意外的插件?,eclipse,eclipse-plugin,eclipse-rcp,Eclipse,Eclipse Plugin,Eclipse Rcp,我有一个基于功能的产品配置和一个运行配置,使用“使用以下所选功能启动”。但是,在运行时,它包含一些插件,这些插件既不: 包含在功能中 在计算功能的依赖项时出现(不应该依赖于它们,但我可能无意中引入了依赖项) 根据“plug-in dependencies”视图,该功能的任何插件似乎都不会调用它 有没有办法检查为什么包含这些插件?PDE会忽略在IDE中启动应用程序的功能配置!因此,将使用工作区中的所有插件 但您可以关闭不启动的项目。PDE首先解析启动配置所选功能的所有包含项。之后,将添加来自所包含

我有一个基于功能的产品配置和一个运行配置,使用“使用以下所选功能启动”。但是,在运行时,它包含一些插件,这些插件既不:

  • 包含在功能中
  • 在计算功能的依赖项时出现(不应该依赖于它们,但我可能无意中引入了依赖项)
  • 根据“plug-in dependencies”视图,该功能的任何插件似乎都不会调用它

  • 有没有办法检查为什么包含这些插件?

    PDE会忽略在IDE中启动应用程序的功能配置!因此,将使用工作区中的所有插件


    但您可以关闭不启动的项目。

    PDE首先解析启动配置所选功能的所有包含项。之后,将添加来自所包含插件的所有依赖项。正如您所指出的,PDE正在遍历工作区和目标。另一件事是,所有的片段(除了那些不匹配的过滤器)都包含在主机插件中。


    看看这个方法(或者在调试中运行)看看你的插件来自哪里:
    org.eclipse.pde.internal.launching.launcher.BundleLauncherHelper.getMergedBundleMap(ILaunchConfiguration,boolean)

    ,这看起来肯定不正确,因为我实际上有两种不同的基于特性的配置(针对两种产品),他们使用工作区中正确的插件子集。“但是您可以关闭您将不启动的项目。”不幸的是,问题发生在插件上,插件不在我的工作区中,而是在目标平台上(由于存在问题,我无法将它们从目标平台中删除)。