# Pluginentwicklung für Eclipse



## Guest (8. Jan 2007)

Hi! 

Ich habe mein erstes Plugin für Eclipse programmiert. Wenn ich die Jar-Datei ins Plugin-Verzeichnis von Eclipse kopier und das Plugin anwähl kommt aber immer eine Fehlermeldung (siehe unten). Woran kann das liegen? Hoffe mir kann jemand helfen.............. 

Ich habe das Plugin mit "Export Deployable Plugins and Fragments" und dann den Standardeinstellungen als Jar-Datei erstellt. Das Plugin heißt "Backup" (package backup.views) 

Struktur in der Jar: 

```
[backup] 
    activator.class 
    [views] 
        backup.class (meine Hauptklasse) 
[icons] 
[META-INF] 
    MANIFEST.MF 
plugin.xml
```


Meine Manifest: 


```
Manifest-Version: 1.0 
Bundle-ManifestVersion: 2 
Bundle-Name: Backup Plug-in 
Bundle-SymbolicName: Backup; singleton:=true 
Bundle-Version: 1.0.0 
Bundle-Activator: backup.Activator 
Bundle-Localization: plugin 
Require-Bundle: org.eclipse.ui, 
 org.eclipse.core.runtime, 
 org.eclipse.core.resources 
Eclipse-LazyStart: true
```

Fehlermeldung: 


```
Unable to create view: Plug-in Backup was unable to load class backup.views.Backup. 

java.lang.ClassNotFoundException: backup.views.Backup 
   at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:402) 
   at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:347) 
   at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83) 
   at java.lang.ClassLoader.loadClass(ClassLoader.java:251) 
   at org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(BundleLoader.java:278) 
   at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:227) 
   at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1245) 
   at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:147) 
   at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:759) 
   at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243) 
   at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51) 
   at org.eclipse.ui.internal.WorkbenchPlugin$1.run(WorkbenchPlugin.java:242) 
   at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) 
   at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:238) 
   at org.eclipse.ui.internal.registry.ViewDescriptor.createView(ViewDescriptor.java:69) 
   at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:292) 
   at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:197) 
   at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:566) 
   at org.eclipse.ui.internal.Perspective.showView(Perspective.java:1675) 
   at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:987) 
   at org.eclipse.ui.internal.WorkbenchPage.access$13(WorkbenchPage.java:968) 
   at org.eclipse.ui.internal.WorkbenchPage$13.run(WorkbenchPage.java:3514) 
   at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) 
   at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3511) 
   at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3487) 
   at org.eclipse.ui.handlers.ShowViewHandler.openView(ShowViewHandler.java:148) 
   at org.eclipse.ui.handlers.ShowViewHandler.openOther(ShowViewHandler.java:104) 
   at org.eclipse.ui.handlers.ShowViewHandler.execute(ShowViewHandler.java:70) 
   at org.eclipse.ui.internal.ShowViewMenu$3.run(ShowViewMenu.java:114) 
   at org.eclipse.jface.action.Action.runWithEvent(Action.java:499) 
   at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:539) 
   at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488) 
   at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:400) 
   at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) 
   at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928) 
   at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348) 
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968) 
   at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914) 
   at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878) 
   at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419) 
   at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) 
   at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95) 
   at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78) 
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) 
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) 
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400) 
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177) 
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
   at java.lang.reflect.Method.invoke(Method.java:585) 
   at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336) 
   at org.eclipse.core.launcher.Main.basicRun(Main.java:280) 
   at org.eclipse.core.launcher.Main.run(Main.java:977) 
   at org.eclipse.core.launcher.Main.main(Main.java:952)
```


----------



## Wildcard (8. Jan 2007)

Funktioniert es in einer Runtime-Workbench?


----------



## Lim_Dul (8. Jan 2007)

Auch wenn ich vermute, dass das nur ein Tippfehler hier im Forum ist:



> backup.class (meine Hauptklasse)


Die Datei sollte Backup.class heißen, oder?


----------



## Guest (9. Jan 2007)

Ja, ist ein Tippfehler, es heißt "Backup.class" und "Activator.class". Und ja, in der Runtime-Workbench läuft es wunderbar! Daher wundert es mich so......


----------

