ClassLoader Probleme

zeja

Erfahrenes Mitglied
Hallo,

ich habe seit einiger Zeit Probleme damit gehabt in meinem Programm Plugins die auch eigene Jars mitbringen zu laden. Dies habe ich mit dem URLClassLoader gemacht der eine Liste an URLs bekommen hat an dem die Plugin Jars zu finden waren.

Leider hatte ich trotzdem immer einen NoClassDefFoundError bekommen obwohl die URLs korrekt waren. Das Plugin wurde geladen jedoch konnte dieses die imports von den eigenen Bibliotheken nicht auflösen.

Wenn jemand mal ein ähnliches Probleme hat:
java -verbose

wirkt wunder. Dadurch habe ich festgestellt dass die classfiles von den plugins noch im Framwork jar meine Applikation rumlagen und daher durch den RootClassLoader geladen wurden der aber natürlich die Jars der Plugin Libraries nicht kannte.

java -verbose gibt an welche Klassen gerade von wo geladen wurden:
Code:
[Loaded java.util.LinkedList from shared objects file]
[Loaded java.util.LinkedList$Entry from shared objects file]
[Loaded org.eclipse.swt.widgets.Listener from file:/E:/Uni/lib/windows/swt-3.3M4-win32-win32-x86.jar]
[Loaded org.apache.log4j.spi.AppenderAttachable from file:/E:/Uni/lib/log4j-1.2.14.jar]
[Loaded org.apache.log4j.Category from file:/E:/Uni/lib/log4j-1.2.14.jar]

Hatte nen Haufen Seiten nach meinem Problem durchwühlt bis ich eine gefunden hatte die -verbose vorgeschlagen hat. Daher dachte ich es könnte hilfreich sein das ganze hier mal zu posten.
 
Hey danke.

Ich Dussel hab dadurch erst mitbekommen, dass Eclipse die Einstellungen nicht aktualisiert hat, obwohl ich das öfters aktiviert hatte.
 
Zurück