Eclipse e4应用程序/插件中的功能是否可选?

时间:2012-08-20 15:22:41

标签: java eclipse eclipse-plugin swt eclipse-rcp

我试图理解RCP的日食e4的概念 按照教程阅读后,我陷入以下困境:
假设我创建了一个Plugin项目(未选中Rich Client,未选中Actvator,因此/ src下没有类别等)
插件是Eclipse中最小的可部署和可安装的软件组件。好吧。
现在,我可以创建一个基于Product Configuration Plugins的{​​{1}}。
所以Features提供了插件等,如果我理解正确,Product Configuration是可选的。假设我是正确的(不知道,是吗?)我在产品配置中添加了依赖关系:
Featureorg.eclipse.emf.common并按org.eclipse.emf.ecore
我的产品配置选择为基于插件 我现在还不明白的是,如果我没有定义依赖项 my plugin 的一部分,我在运行应用程序时会得到一个缺少的插件(我已经检查了验证插件在跑之前)。但为什么?该插件已经在产品定义(New)中定义为“Definining Plugin”。为什么我还必须在这里明确地添加它?

无论如何传递,当我尝试启动一个窗口时(是的,我创建了一个Add Required Plugins并定义了一个New Application Model)我得到了运行时异常

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) (由于启用了插件验证,我得到了这个)

enter image description here

为什么我会收到此异常?我相信我得到它是因为我没有添加org.eclipse.e4.ui.workbench.swt作为依赖 但我找不到它作为一种选择。事实证明,只有在产品配置为org.eclipse.e4.rcp时才能选择此选项。它不适用于插件。
此外,相同的过程,但定义based on Features和“附加”它作为产品配置的依赖工作!即没有运行时异常,窗口出现。

那发生了什么?功能是否必须?我不明白。我认为它们是可选的。任何人都可以帮我解决这个问题吗?

更新
如果我在Feature中手动添加org.eclipse.e4.ui.workbench.swt作为依赖项(并按需要添加),我会得到:

enter image description here

product

1 个答案:

答案 0 :(得分:4)

如果您在Eclipse 4上创建基于插件的产品,您仍然需要构成org.eclipse.e4.rcp功能的大多数插件。尝试从http://git.eclipse.org/c/platform/eclipse.platform.ui.git/tree/features/org.eclipse.e4.rcp/feature.xml

的列表中添加它们