Eclipse rcp导出产品抛出NullPointerException

时间:2016-09-18 12:16:28

标签: java eclipse eclipse-rcp exe rcp

我有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)

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

按照vogella

的教程进行操作时,我遇到了类似的问题。

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

请参见Maven Tycho RCP Product Not Found After Moving Folder

答案 2 :(得分:0)

我遇到了完全相同的错误,最初被“找不到产品的错误消息”所误导。跟踪了stacktrace和Eclipse源代码之后,我意识到当我将Application.e4xmi放到ui插件项目中时,我没有将其添加到build.properties文件中,因此可以将其打包在jar中。一旦完成,它就会按预期工作。