# [ Eclipse ] NoClassDefFoundError bei neuem Plugin



## byte (21. Feb 2008)

Hallo,

ich habe Probleme bei der Erweiterung einer auf Eclipse basierenden Anwendung. Ich habe ein neues Plugin angelegt und möchte nun auf Klassen dieses Plugins in einem bestehenden Plugin zugreifen.

Dafür habe ich folgende Einstellungen vorgenommen:
- unter _'Exported Packages'_ im neuen Plugin alle nötigen Packages eingetragen
- unter _'Classpath'_ im neuen Plugin die beiden im Plugin verwendeten Jars eingetragen
- im bestehenden Plugin, wo ich Klassen des neuen Plugins verwenden will unter _'Required Plug-Ins'_ das neue Plugin eingetragen
- in der Product Configuration unter _'Plug-Ins and Fragments'_ das neue Plugin eingetragen

Es gibt soweit keine Compilerfehler, aber wenn ich die Anwendung starte, fliegt eine java.lang.NoClassDefFoundError, sobald er an die Stelle kommt, wo eine Klasse aus dem neuen Plugin verwendet wird.

Habe ich irgendwelche Einstellungen vergessen oder falsch gemacht?

TIA byto


----------



## Wildcard (21. Feb 2008)

> - unter 'Exported Packages' im neuen Plugin alle nötigen Packages eingetragen


Am besten du exportierst (zumindest zum Testen) alle packages. Das ist sowieso eher die Regel, interne Klassen legt man in package.internal.


> - unter 'Classpath' im neuen Plugin die beiden im Plugin verwendeten Jars eingetragen


Werden die auch von dem anderen PlugIn  benötigt? Hast du sie auch in der build configuration eingetragen?
Reden wir von einem Compilat, oder einer Runtime Application?


----------



## byte (21. Feb 2008)

Wildcard hat gesagt.:
			
		

> > - unter 'Exported Packages' im neuen Plugin alle nötigen Packages eingetragen
> 
> 
> Am besten du exportierst (zumindest zum Testen) alle packages. Das ist sowieso eher die Regel, interne Klassen legt man in package.internal.
> ...


Ich habe derzeit eh nur ein Package mit einer Klasse im neuen Plugin angelegt. Die Klasse benutzt die beiden Jars, aber soweit komm ich gar nicht. Die Exception fliegt schon, wenn ich versuche ein Objekt dieser Klasse zu instanzieren. Denke also nicht, dass es was mit den Jars zu tun hat. In der Build Configuration habe ich nichts eingetragen, aber ich mache ja auch kein Build sondern starte die kompilierte Anwendung über Eclipse (also über Product -> Launch an Eclipse Application).

Es sind schon viele Plugins auf ähnliche weise eingebunden die funktionieren. Gucke schon die ganze Zeit, was dort anders konfiguriert sein könnte, finde aber keine Unterschiede. :?


----------



## Wildcard (21. Feb 2008)

Lade am besten die ganze PDE Soße mit in deine Configuration und schau dir dann an, ob dein neues Plugin auch wirklich gestartet werden kann.
Vielleicht scheitert er auch schon beim laden des Bundles, das würde dir dann die Error Log View verraten.


----------



## byte (22. Feb 2008)

Konnte das Problem lösen. Es fehlte im Plugin unter _Classpath_ der Punkt. :roll:


----------

