我有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)
答案 0 :(得分:3)
Product myapp.product could not be found
是此处的关键信息 - 您导出的产品似乎不包含您的产品定义(可能缺少插件)。导致崩溃是因为无法找到产品。
确保您的xxx.product
文件包含所有插件以及它们所依赖的所有Eclipse RCP插件(您可以使用“Add Required”按钮来解决此问题。)
答案 1 :(得分:0)
按照vogella
的教程进行操作时,我遇到了类似的问题。确保定义产品“ myapp.product”的插件也包含在产品配置中。因此,如果您的产品配置基于功能,则需要在功能内添加“ myapp.product”插件。否则,它不是包装的一部分。
答案 2 :(得分:0)
我遇到了完全相同的错误,最初被“找不到产品的错误消息”所误导。跟踪了stacktrace和Eclipse源代码之后,我意识到当我将Application.e4xmi放到ui插件项目中时,我没有将其添加到build.properties文件中,因此可以将其打包在jar中。一旦完成,它就会按预期工作。