应用程序启动方法中的Eclipse RCP Java FX迁移异常

时间:2015-07-16 12:19:58

标签: java javafx eclipse-rcp efxclipse

我想将带有SWT的Eclipse RCP 4应用程序迁移到带有JavaFX的Eclipse RCP 4应用程序。我遵循了这个tutorial。在我提升了所有依赖项之后,启动时抛出了以下错误。

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

0 个答案:

没有答案