未指定参数时Eclipse应用如何选择默认应用或产品?
Eclipse未指定
-application/-product参数时的启动逻辑 当Eclipse应用未通过命令行或.ini文件指定-application或-product参数时,会按以下优先级确定启动目标:
优先查找默认产品
Eclipse会遍历所有通过org.eclipse.core.runtime.products扩展定义的产品,找到标记了default="true"属性的产品。如果有多个产品都设置了该属性,会按照插件的加载顺序选择第一个被识别到的产品,启动该产品绑定的应用。无默认产品时查找默认应用
如果没有定义默认产品,Eclipse会转向org.eclipse.core.runtime.applications扩展定义的应用,找到标记了default="true"属性的应用。同样,多个默认应用存在时,按插件加载顺序取第一个。无默认产品/应用时的兜底逻辑
如果上述两种默认定义都不存在,Eclipse会尝试启动内置的标准工作台应用(ID为org.eclipse.ui.ide.workbench)。但如果你的自定义应用环境中没有包含这个插件,启动会失败,抛出类似No application id has been found的异常。
针对你的场景:你提到有10个应用定义、5个产品定义且未指定启动参数,建议先检查这5个产品中是否有设置default="true"的;若没有,再看10个应用里的默认标记;如果都没设置,就会尝试启动标准工作台应用(若环境支持)或启动失败。
内容的提问来源于stack exchange,提问作者YogiWatcher
相关产品推荐
相关产品推荐

