Hallo,
ich arbeite nun an einem bestehenden Pluginprojekt.
Es ist ein stink normales Plugin, welches 3 Menü-items in Eclpse integriert und bei deren Click diverse Operationen passieren.
Meine Aufgabe ist es nun eine Funktion zu erweitern. Ich benötige für die Umsetzung der Funktionen eine bestehende API, welche ich als jar file, eben wie in einem normalen Java-Projekt, in das Projekt kopiert habe und zum BuildPath hinzugefügt habe...
Soweit so gut, bisher scheint es keine Fehler zu geben, die Syntax-Unterstützung kenn die Klassen der jar File und ich kann losprogrammieren, ohne das Probleme angezeigt werden.
Wenn ich die plugin.xml ausführe und das geänderte Menü-Item per Mausklick den Code der API ausführen soll, fliegen Exceptions:
"ITime", eine Schnittstelle aus der verwendeten API, müsste er eigentlich finden. Die ist direkt in der verwendeten API enthalten. Was mache ich hier falsch?
Ich nehme an, dass ich der plugin.xml noch etwas mitteilen muss bzgl der eingebundenen jar-files. Aber wie weiß ich nicht.
Ich bitte um Hilfe.
Danke schonmal
ich arbeite nun an einem bestehenden Pluginprojekt.
Es ist ein stink normales Plugin, welches 3 Menü-items in Eclpse integriert und bei deren Click diverse Operationen passieren.
Meine Aufgabe ist es nun eine Funktion zu erweitern. Ich benötige für die Umsetzung der Funktionen eine bestehende API, welche ich als jar file, eben wie in einem normalen Java-Projekt, in das Projekt kopiert habe und zum BuildPath hinzugefügt habe...
Soweit so gut, bisher scheint es keine Fehler zu geben, die Syntax-Unterstützung kenn die Klassen der jar File und ich kann losprogrammieren, ohne das Probleme angezeigt werden.
Wenn ich die plugin.xml ausführe und das geänderte Menü-Item per Mausklick den Code der API ausführen soll, fliegen Exceptions:
Code:
java.lang.NoClassDefFoundError: org/jamesii/core/util/ITime at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:183) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:576) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:546) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:477) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:465) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:445) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:211) at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:381) at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:457) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105) at java.lang.ClassLoader.loadClass(Unknown Source) at de.tud.inf.ai.topcased.ui.commands.RunSimulation.execute(RunSimulation.java:89) at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:294) at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476) at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508) at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169) at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241) at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:770) at org.eclipse.ui.menus.CommandContributionItem.access$10(CommandContributionItem.java:756) at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:746) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3910) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194) 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:368) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 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.equinox.launcher.Main.invokeFramework(Main.java:559) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514) at org.eclipse.equinox.launcher.Main.run(Main.java:1311) at org.eclipse.equinox.launcher.Main.main(Main.java:1287) Caused by: java.lang.ClassNotFoundException: org.jamesii.core.util.ITime at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:494) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105) at java.lang.ClassLoader.loadClass(Unknown Source) ... 49 more
Ich nehme an, dass ich der plugin.xml noch etwas mitteilen muss bzgl der eingebundenen jar-files. Aber wie weiß ich nicht.
Ich bitte um Hilfe.
Danke schonmal
Comment