Matthias
Matthias

Reputation: 1

Eclipse Juno: How to debug " No application id has been found"

The situation:

The problem:

The Eclipse-launcher fails as follows:

!ENTRY org.eclipse.equinox.app 0 0 2017-09-02 19:27:12.650 !MESSAGE Product eu.esa.estec.esabase2.product could not be found.

!ENTRY org.eclipse.osgi 4 0 2017-09-02 19:27:12.667 !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:353) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) at org.eclipse.equinox.launcher.Main.run(Main.java:1438)

The question: How does eclipse look for product and application ID at startup? How can I debug or solve the problem in my Eclipse-product which was built by my script? (Do I need to configure a certain path or put the ID or the name somewhere? I'm under Linux).

P.S. I did not invent the way the product is built and can't change this at the moment.

Upvotes: 0

Views: 1205

Answers (1)

greg-449
greg-449

Reputation: 111142

EclipseAppContainer expects the application id to be specified in the eclipse.product property in the config.ini file in the installation configuration directory. It will also accept a -application command line argument.

The product ids are found by looking at all the installed plugins and looking for products declared using the org.eclipse.core.runtime.products extension point.

Plugins which don't install properly because of some problem such as missing dependencies or requirements are not considered.

The org.eclipse.core.runtime.products is used in a plugin.xml for one of your plugins. For example:

<?xml version="1.0" encoding="UTF-8"?>
<plugin>
   <extension
         id="product"
         point="org.eclipse.core.runtime.products">
      <product
            name="product name"
            application="application id">

      ... any properties for the product

      </product>
   </extension>

If this is in a plugin with id 'my.plugin' then the full product id will be 'my.plugin.product'. For your product this would probably be declared in the eu.esa.estec.esabase2 plugin.

Upvotes: 0

Related Questions