eclipsedependencieseclipse-plugineclipse-rcp

Eclipse RCP test run ok but the exported product was unable to open: Application could not be found in the registry


I have a 3.x eclipse RCP product, when I click the Lauch as an eclipse application link at the overview tab of my product file, it went well. But when I export the product, the exe file cannot open, and the log is as follows, where xx is my application name.

!ENTRY org.eclipse.osgi 4 0 2023-10-06 19:11:32.055
!MESSAGE Application error
!STACK 1
java.lang.RuntimeException: Application "**xx**" could not be found in the registry. The applications available are: org.eclipse.equinox.app.error.
    at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:252)
    at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:33)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1467)

I followed this tutorial https://www.vogella.com/tutorials/EclipseProductDeployment/article.html#deployment-of-your-application. Accordingly, the solution to a similar problem(Application ID could not be found) is that I should change the start level of org.eclipse.core.runtime to 1. I did so, but then the log information turned into something about the 3.15 version of org.eclipse.equinox.common requirement cannot be satisfied, so the org.eclipse.core.runtime cannot be resolved. So I guess this solution to my original question is inappropriate. How can I fix this problem? Thank you.


Solution

  • I create a new product definition by clicking the new button in product donfiguration file, and I chose org.eclipse.ui.ide.workbench as the application of that product definition. And then I changed the product to plugin-based, and added all the plugins. Then it worked.