【问题标题】:Eclipse rcp export product throws NullPointerExceptionEclipse rcp 导出产品抛出 NullPointerException
【发布时间】:2017-01-26 05:19:03
【问题描述】:

我有 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 是这里的关键信息 - 您导出的产品似乎不包含您的产品定义(可能缺少插件)。崩溃的原因是找不到产品。
  • 您好,谢谢您的回答,缺少什么样的插件?
  • 很可能是您在 plugin.xml 中定义产品myapp.product 的插件。查看您的 xxx.product 文件并确保列出了所有插件以及所有必需的 Eclipse RCP 插件。
  • 谢谢,只需要添加与项目ID同名的插件,

标签: java eclipse eclipse-rcp exe rcp


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我在学习vogella的教程时遇到了类似的问题

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

    Maven Tycho RCP Product Not Found After Moving Folder

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-22
        • 2018-02-10
        • 2019-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多