0

I would like to migrate an Eclipse RCP 4 Application with SWT to an Eclipse RCP 4 Application with JavaFX. I have follow this tutorial. After I upated all the dependencies, the following error was thrown at startup.

Exception in Application start method
Exception in Application stop method

!ENTRY org.eclipse.equinox.app 4 0 2015-07-16 13:39:47.131
!MESSAGE Exception in Application start method
!STACK 0
java.lang.RuntimeException: Exception in Application start method
    at com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$152(Unknown Source)
    at com.sun.javafx.application.LauncherImpl$$Lambda$8/5919297.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.eclipse.e4.core.di.InjectionException: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:68)
    at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:115)
    at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:345)
    at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:264)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
    at org.eclipse.fx.ui.workbench.renderers.base.BaseRenderer.createWidget(BaseRenderer.java:186)
    at org.eclipse.fx.ui.workbench.renderers.base.BaseRenderer.createWidget(BaseRenderer.java:1)
    at org.eclipse.fx.ui.workbench.fx.PartRenderingEngine.createWidget(PartRenderingEngine.java:246)
    at org.eclipse.fx.ui.workbench.fx.PartRenderingEngine.createGui(PartRenderingEngine.java:211)
    at org.eclipse.fx.ui.workbench.fx.PartRenderingEngine.createGui(PartRenderingEngine.java:311)
    at org.eclipse.fx.ui.workbench.renderers.base.BaseRenderer.engineCreateWidget(BaseRenderer.java:603)
    at org.eclipse.fx.ui.workbench.renderers.base.BaseMenuRenderer.doProcessContent(BaseMenuRenderer.java:198)
    at org.eclipse.fx.ui.workbench.renderers.base.BaseMenuRenderer.doProcessContent(BaseMenuRenderer.java:1)
    at org.eclipse.fx.ui.workbench.renderers.base.BaseRenderer.processContent(BaseRenderer.java:697)
    at org.eclipse.fx.ui.workbench.fx.PartRenderingEngine.createGui(PartRenderingEngine.java:214)
    at org.eclipse.fx.ui.workbench.fx.PartRenderingEngine.createGui(PartRenderingEngine.java:311)
    at org.eclipse.fx.ui.workbench.renderers.base.BaseRenderer.engineCreateWidget(BaseRenderer.java:603)
    at org.eclipse.fx.ui.workbench.renderers.base.BaseMenuBarRenderer.doProcessContent(BaseMenuBarRenderer.java:52)
    at org.eclipse.fx.ui.workbench.renderers.base.BaseMenuBarRenderer.doProcessContent(BaseMenuBarRenderer.java:1)
    at org.eclipse.fx.ui.workbench.renderers.base.BaseRenderer.processContent(BaseRenderer.java:697)
    at org.eclipse.fx.ui.workbench.fx.PartRenderingEngine.createGui(PartRenderingEngine.java:214)
    at org.eclipse.fx.ui.workbench.fx.PartRenderingEngine.createGui(PartRenderingEngine.java:311)
    at org.eclipse.fx.ui.workbench.renderers.base.BaseRenderer.engineCreateWidget(BaseRenderer.java:603)
    at org.eclipse.fx.ui.workbench.renderers.base.BaseWindowRenderer.doProcessContent(BaseWindowRenderer.java:350)
    at org.eclipse.fx.ui.workbench.renderers.base.BaseWindowRenderer.doProcessContent(BaseWindowRenderer.java:1)
    at org.eclipse.fx.ui.workbench.renderers.base.BaseRenderer.processContent(BaseRenderer.java:697)
    at org.eclipse.fx.ui.workbench.fx.PartRenderingEngine.createGui(PartRenderingEngine.java:214)
    at org.eclipse.fx.ui.workbench.fx.PartRenderingEngine.createGui(PartRenderingEngine.java:311)
    at org.eclipse.fx.ui.workbench.fx.PartRenderingEngine.run(PartRenderingEngine.java:434)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
    at org.eclipse.fx.ui.workbench.fx.E4Application$1.lambda$0(E4Application.java:181)
    at org.eclipse.fx.ui.workbench.fx.E4Application$1$$Lambda$63/32057162.run(Unknown Source)
    at org.eclipse.fx.ui.workbench.fx.internal.UISynchronizeImpl.syncExec(UISynchronizeImpl.java:88)
    at org.eclipse.fx.ui.workbench.fx.E4Application$1.run(E4Application.java:170)
    at org.eclipse.fx.ui.workbench.fx.E4Application.jfxStart(E4Application.java:193)
    at org.eclipse.fx.ui.workbench.fx.DefaultJFXApp.start(DefaultJFXApp.java:57)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$159(Unknown Source)
    at com.sun.javafx.application.LauncherImpl$$Lambda$58/21052856.run(Unknown Source)
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$172(Unknown Source)
    at com.sun.javafx.application.PlatformImpl$$Lambda$54/8916641.run(Unknown Source)
    at com.sun.javafx.application.PlatformImpl.lambda$null$170(Unknown Source)
    at com.sun.javafx.application.PlatformImpl$$Lambda$56/17487268.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$171(Unknown Source)
    at com.sun.javafx.application.PlatformImpl$$Lambda$55/776696.run(Unknown Source)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$null$145(Unknown Source)
    at com.sun.glass.ui.win.WinApplication$$Lambda$44/27884882.run(Unknown Source)
    ... 1 more
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring(Unknown Source)
    at org.eclipse.fx.core.SimpleURI.parseURI(SimpleURI.java:71)
    at org.eclipse.fx.core.SimpleURI.<init>(SimpleURI.java:42)
    at org.eclipse.fx.core.URI.create(URI.java:69)
    at org.eclipse.fx.ui.workbench.fx.internal.GraphicsLoaderImpl.replaceDynamicValues(GraphicsLoaderImpl.java:144)
    at org.eclipse.fx.ui.workbench.fx.internal.GraphicsLoaderImpl.getGraphicsNode(GraphicsLoaderImpl.java:120)
    at org.eclipse.fx.ui.workbench.renderers.fx.DefMenuItemRenderer$MenuItemImpl.setIconURI(DefMenuItemRenderer.java:186)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
    ... 49 more
root404
  • 65
  • 1
  • 1
  • 6
  • 2
    Could it be that you missed on of the steps? It seems like some internal URI is being parsed but the string is empty. Double check the places where you put URIs pointing to parts / windows / etc. – Anton Sarov Jul 16 '15 at 12:34
  • The error looks like to be related to a menu icon URI issue. Have you double checked that nothing is wrong there? – Dirk Fauth Jul 17 '15 at 08:37
  • Thanks, it works. The problem has been solved by an update of the icon URI – root404 Jul 17 '15 at 09:00

0 Answers0