Export eclipse产品调用导致java.lang.RuntimeException:未找到应用程序id

Export eclipse产品调用导致java.lang.RuntimeException:未找到应用程序id,export,eclipse-rcp,product,Export,Eclipse Rcp,Product,我刚刚导出了一个产品,如果我点击“启动Eclipse应用程序”按钮,它工作得很好。如果尝试执行导出的产品,则在启动时会出现以下异常: !SESSION 2012-03-16 17:28:21.206 ----------------------------------------------- eclipse.buildId=unknown java.version=1.6.0_26 java.vendor=Sun Microsystems Inc. BootLoader constants:

我刚刚导出了一个产品,如果我点击“启动Eclipse应用程序”按钮,它工作得很好。如果尝试执行导出的产品,则在启动时会出现以下异常:

!SESSION 2012-03-16 17:28:21.206 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_26
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=de_DE
Command-line arguments:  -os linux -ws gtk -arch x86_64

!ENTRY org.eclipse.osgi 4 0 2012-03-16 17:28:22.184
!MESSAGE Application error
!STACK 1
java.lang.RuntimeException: No application id has been found.
at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:242)
at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
at org.eclipse.equinox.launcher.Main.main(Main.java:1386)

就在我导出产品之前,我对依赖项进行了验证,结果很好。你知道哪里出了问题吗?谢谢大家!

通常,我会查找以下内容:

  • 您在产品配置中导出的插件集与启动配置中使用的插件集不完全相同。没有可用于比较的工具
  • 您有一个自定义的
    config.ini
    文件,该文件没有为产品定义正确的应用程序

    • 在启动项目时,我遇到了类似的异常。在我的例子中,原因是JRE版本-我在调试配置中设置了JRE 1.7而不是1.6,并且一切都开始工作。如果项目配置为OpenJDK 1.6,并且调试使用sun JDK 1.6启动,我相信同样的事情也会发生。

      在产品配置文件中添加了缺少的javax.xml依赖项:

      <plugin id="com.ibm.icu"/>
      <plugin id="javax.annotation"/>
      <plugin id="javax.inject"/>
      +<plugin id="javax.xml"/>
      <plugin id="org.apache.batik.css"/>
      <plugin id="org.apache.batik.util"/>
      <plugin id="org.apache.batik.util.gui"/>
      
      
      +
      
      我也有同样的问题。 使用E4工具,以下步骤对我有效。 打开.product文件并转到“依赖项”选项卡。然后按Add Required Plug-ins。 然后转到概述并按启动Eclipse应用程序。
      您还应该执行“帮助->检查更新”

      查看“依赖项”选项卡,并删除在插件和片段中显示未解析的额外插件。

      我转到了我的运行配置并点击
      添加所需插件
      一个
      插件
      页面。解决了这个问题。

      谢谢。我检查了
      config.ini
      的设置,但没有对其进行自定义。请尝试在Eclipse中使用远程java调试调试导出的产品,并添加-console参数。然后使用OSGi“ss”命令查看产品中实际配置了哪些插件及其状态。我无法尝试使用“ss”命令,因为消息会立即出现,VM会终止。eclipse文件夹只包含配置和插件文件夹以及可执行文件eclipse。这有点奇怪,因为我习惯在根eclipse文件夹中有更多的文件。谢谢你的帮助!如果您添加switch-noexit,虚拟机将不会终止,您可以执行一点法医“ss”-ing。谢谢Tony和stracka。之后,我在我的插件上使用了
      diag ID
      ,以找出无法解决的开关依赖关系。我还将其添加到运行配置中,以使其正常工作