Eclipse rcp 导出产品抛出 NullPointerException

Eclipse rcp export product throws NullPointerException

我有 eclipse rcp 项目,我想导出它并使其可执行。我通过产品文件 Export an Eclipse product。结果我得到了包含插件、其他文件和 MyApp.exe 的目录,但是当我 运行 exe 文件时,在日志中我得到了这样的消息。也许有人可以告诉我这个异常的原因是什么?

!ENTRY org.eclipse.equinox.app 0 0 2016-09-18 15:05:10.837
!MESSAGE Product myapp.product could not be found.

!ENTRY org.eclipse.osgi 4 0 2016-09-18 14:06:41.616
    !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:407)
        at org.eclipse.e4.ui.internal.workbench.swt.E4Application.loadApplicationModel(E4Application.java:348)
        at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:252)
        at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:148)
        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:388)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1519)

Product myapp.product could not be found 是这里的关键信息 - 您导出的产品似乎不包含您的产品定义(可能缺少插件)。崩溃是因为找不到商品造成的

确保您的 xxx.product 文件包含您的所有插件以及它们所依赖的所有 Eclipse RCP 插件(您可以使用 'Add Required' 按钮解决此问题)。

我在遵循 vogella

中的教程时遇到了类似的问题

确保定义产品的插件 "myapp.product" 也包含在产品配置中。因此,如果您的产品配置基于功能,则需要在功能内添加 "myapp.product" 插件。否则,它不是包装的一部分。

Maven Tycho RCP Product Not Found After Moving Folder

我 运行 遇到了完全相同的错误,最初是被“未找到产品错误消息”误导了。在跟踪堆栈跟踪和 Eclipse 源代码后,我意识到当我将我的 Application.e4xmi 放入 ui 插件项目时,我没有将它添加到 build.properties 文件中,因此它会被打包到罐。一旦我这样做了,它就按预期工作了。