java org.eclipse.e4_Eclipse e4应用程序/插件中的功能是否可选?

我试图了解RCP的eclipse e4的概念.

在阅读了本教程之后,我陷入了以下困境:

假设我创建了一个插件项目(未选中Rich Client,未选中Actvator,因此/ src下没有类)

插件是Eclipse最小的可部署和安装的软件组件.好.

现在,我可以创建基于插件或功能的产品配置.

因此,产品配置提供了插件等,如果我理解正确,那么该功能是可选的.假设我是正确的(不知道,是吗?),我将相关性添加到产品配置中:

org.eclipse.emf.common和org.eclipse.emf.ecore,然后按添加所需的插件

我的产品配置被选择为基于插件.

我现在不了解的是,如果我没有将插件定义为依赖项的一部分,则在运行应用程序时会丢失一个插件(我在运行前检查了validate插件).但为什么?该插件在产品定义(新)中已被定义为“定义插件”.为什么我必须在这里也明确地添加它?

无论如何,当我尝试启动一个窗口时(是的,我创建了一个新的应用程序模型并定义了一个Trimmed Window),我得到了运行时异常

java.lang.RuntimeException: Application "org.eclipse.e4.ui.workbench.swt.E4Application" could not be found in the registry. The applications available are: org.eclipse.equinox.app.error.

at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:248)

at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29)

我只能假设发生这种情况是因为缺少一个插件,它是:org.eclipse.e4.ui.workbench.swt(由于启用了插件验证,所以得到了此信息)

??

为什么会出现此异常?我相信得到它是因为我没有将org.eclipse.e4.rcp添加为依赖项.

但是我找不到它作为选择.原来只有在产品配置基于“功能”时才可以选择.它不适用于插件.

另外,相同的过程但定义了功能并将其“附加”为对产品配置的依赖项,可以正常工作!即没有运行时异常,并显示窗口.

那到底是怎么回事?功能是强制性的吗?我不明白我认为它们是可选的.谁能帮我解决这个问题?

更新:

如果我在产品中手动添加org.eclipse.e4.ui.workbench.swt作为依赖项(并按添加键),我将得到:

??

!ENTRY org.eclipse.osgi 2 0 2012-08-20 18:36:52.044

!MESSAGE One or more bundles are not resolved because the following root constraints are not resolved:

!SUBENTRY 1 org.eclipse.osgi 2 0 2012-08-20 18:36:52.044

!MESSAGE Bundle initial@reference:file:plugins/org.eclipse.e4.ui.workbench.swt_0.10.1.v20120525-2014.jar was not resolved.

!SUBENTRY 2 org.eclipse.e4.ui.workbench.swt 2 0 2012-08-20 18:36:52.044

!MESSAGE Missing required bundle org.eclipse.core.databinding_[1.2.0,2.0.0).


版权声明:本文为weixin_35284593原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。