导出Eclipse RCP产品 - > "未解决的要求:Require-Bundle:org.eclipse.ui.views"

时间:2016-06-28 14:46:39

标签: java eclipse eclipse-plugin rcp

我在Eclipse Mars中开发了一个基于特征的RCP应用程序(使用gef和draw2d),我想从产品中生成一个可执行文件。为此,我使用" Eclipse产品导出向导"。但是当我启动可执行文件时出现错误:

!SESSION 2016-06-28 13:54:38.816 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_92
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Framework arguments:  -clearPersistedState
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -clearPersistedState

!ENTRY org.eclipse.equinox.app 0 0 2016-06-28 13:54:40.239
!MESSAGE Product interfaces.interfaces could not be found.

!ENTRY interfaces 2 0 2016-06-28 13:54:40.596
!MESSAGE Could not resolve module: interfaces [3]
  Unresolved requirement: Require-Bundle: org.eclipse.ui.views


!ENTRY org.eclipse.osgi 4 0 2016-06-28 13:54:40.598
!MESSAGE Application error
!STACK 1
java.lang.NullPointerException
    at org.eclipse.emf.common.util.URI$URIPool$PlatformAccessUnit.setValue(URI.java:865)
    at org.eclipse.emf.common.util.URI$URIPool.intern(URI.java:1949)
    at org.eclipse.emf.common.util.URI.createPlatformPluginURI(URI.java:2718)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.determineApplicationModelURI(E4Application.java:426)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.loadApplicationModel(E4Application.java:350)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:254)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:145)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1515)

我认为问题在于并非所有必需的库/插件都包含在生成的文件夹中。

当我尝试通过" product - >启动应用程序时发生同样的错误。概述标签 - >启动Eclipse应用程序"。 单击"运行配置 - >可以解决此问题。插件 - >添加所需的插件"。 我假设那些插件由" Add required Plug-ins"添加。缺少运行可执行文件。

有谁能告诉我,如何在构建可执行文件时告诉eclipse包含它们?或者我错过了其他什么?

我已经检查了"插件中的所有框 - >构建 - >二进制构建/源代码构建"。我还试图在Build选项卡中包含缺少的库。但似乎没有任何作用:/

谢谢!

托马斯

2 个答案:

答案 0 :(得分:2)

假设您正在为构建使用xxx.product文件。您需要转到“内容”选项卡,然后单击“添加必需”以将所需的插件(或功能)添加到构建中。

这与“运行配置”插件配置分开。

答案 1 :(得分:0)

感谢您的快速反应!

你的提示给了我找到答案的线索。

我必须添加

  • org.eclipse.ui
  • org.eclipse.help
  • org.eclipse.gef
  • ...

到我的功能中的“Included Plug-ins”选项卡(我包含在我的产品中)。

谢谢!