G
Guest
Gast
Hallo allerseits,
ich sitze seit einiger Zeit an einer Schnittstelle für Plugins. Habe schon diverse vorschläge aus dem Forum angesehen. Leider führte das nicht immer zum gewünschten Erfolg.
Nun habe ich versucht eine Schnittstelle aller JDBC zu programmieren. Ich habe eine Klasse ähnlich dem DriverManager implementiert. Sie besitzt eine statische Methode registerPlugin(Pluggable plugin). Pluggable ist das Interface welches mir die Infos zu meinem Plugin bieten soll.
Plugins sollen später als .jar-Dateien in einem Pluginordner liegen. Um die Klassen dann zur Laufzeit in mein Programm zu laden hatte ich vor einen URLClassLoader zu benutzen. Beim Laden der Klasse, soll ein statischer Block aufgerufen werden.
Dies sieht etwa so aus:
Leider wird beim Laden der Klasse aus der JAR dieser Block nicht ausgeführt. Binde ich das Plugin in mein Projekt ein und lade das ganze mit Class.forName("Testplugin"); so geht alles wunderbar.
Hat jemand ne Ahnung wieso der URLClassLoader meinen Block nicht anfasst?
Danke für jede Hilfe
Gruß
ich sitze seit einiger Zeit an einer Schnittstelle für Plugins. Habe schon diverse vorschläge aus dem Forum angesehen. Leider führte das nicht immer zum gewünschten Erfolg.
Nun habe ich versucht eine Schnittstelle aller JDBC zu programmieren. Ich habe eine Klasse ähnlich dem DriverManager implementiert. Sie besitzt eine statische Methode registerPlugin(Pluggable plugin). Pluggable ist das Interface welches mir die Infos zu meinem Plugin bieten soll.
Plugins sollen später als .jar-Dateien in einem Pluginordner liegen. Um die Klassen dann zur Laufzeit in mein Programm zu laden hatte ich vor einen URLClassLoader zu benutzen. Beim Laden der Klasse, soll ein statischer Block aufgerufen werden.
Dies sieht etwa so aus:
Code:
static
{
PluginManager.registerPlugin(new Testplugin());
}
Hat jemand ne Ahnung wieso der URLClassLoader meinen Block nicht anfasst?
Danke für jede Hilfe
Gruß