org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError...

来源:互联网 发布:程序员很累吗 编辑:程序博客网 时间:2024/05/21 19:35

org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: org/antlr/v4/runtime/CharStream    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:63)    at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:243)    at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:224)    at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)    at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:167)    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:850)    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:743)    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$7(HandledContributionItem.java:727)    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:662)    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4166)    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1489)    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1474)    at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1279)    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4012)    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3651)    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)    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:354)    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)    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:636)    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)    at org.eclipse.equinox.launcher.Main.run(Main.java:1450)    at org.eclipse.equinox.launcher.Main.main(Main.java:1426)Caused by: java.lang.NoClassDefFoundError: org/antlr/v4/runtime/CharStream

Adding the jar to the build path only makes your compiler in the IDE finds the classes. For an RCP application you have to add the jar into your plug-in.xml as an external jar. Then the jar gets bundled in your application and is available at the runtime of it.

You can do this in the Eclipse editor on the tab Runtime. Click Add... in the classpath section and add your jar here. This automatically adds the jar to your build path so you might better remove it here before.

build.properties -> Runtime tab:


You can find a detailed description (with images) here: Add external jar to Eclipse RCP

0 0
原创粉丝点击