Ich versuche gerade ein mini Plugin System zu entwerfen, habe aber noch ein paar kleine Probleme. Ziel ist es das man ähnlich wie bei Eclipse zum installieren von einem Plugin lediglich eine Jar Datei in einen bestimmten Ordner kopieren muss und der Rest automatisch passiert.
Im Endeffekt soll ein Swing Fenster mit Menüleiste und einem TabbedPane im Hauptbereich entstehen in das man über Plugins jederzeit neue Tabs einfügen kann und diese über das Menü öffnen und schließen kann. Prinzipjell braucht man dafür nicht zwingend Plugins aber zum verstehen wie man sowas in Java umsetzt ist das ein schönes Projekt. Bisher habe ich Plugin Systeme in PHP geschrieben aber das lässt sich mit Java schlecht vergleichen.
Mein Ablauf währe das beim Programmstart ein Unterordner Namens "Plugin" nach .Jar Dateien durchsucht wird, in den Jar Dateien müsste dann außer dem Programmcode eine Manifest Datei oder XML Datei mit Informationen zu den Klassen sein die den Menüpunkt und das Tab beschreiben und zugehörige Klassen verraten. Werden Jar Dateien gefunden müsste die Meta Datei gelesen werden, die Jar Datei in den ClassPath eingetragen werden und dann weiß ich aber nicht weiter, schon das Eintragen in den ClassPath weiß ich nicht wie ich das programmiertechnisch umsetzen kann.
Kann mir da jemand weiter helfen?
Im Endeffekt soll ein Swing Fenster mit Menüleiste und einem TabbedPane im Hauptbereich entstehen in das man über Plugins jederzeit neue Tabs einfügen kann und diese über das Menü öffnen und schließen kann. Prinzipjell braucht man dafür nicht zwingend Plugins aber zum verstehen wie man sowas in Java umsetzt ist das ein schönes Projekt. Bisher habe ich Plugin Systeme in PHP geschrieben aber das lässt sich mit Java schlecht vergleichen.
Mein Ablauf währe das beim Programmstart ein Unterordner Namens "Plugin" nach .Jar Dateien durchsucht wird, in den Jar Dateien müsste dann außer dem Programmcode eine Manifest Datei oder XML Datei mit Informationen zu den Klassen sein die den Menüpunkt und das Tab beschreiben und zugehörige Klassen verraten. Werden Jar Dateien gefunden müsste die Meta Datei gelesen werden, die Jar Datei in den ClassPath eingetragen werden und dann weiß ich aber nicht weiter, schon das Eintragen in den ClassPath weiß ich nicht wie ich das programmiertechnisch umsetzen kann.
Kann mir da jemand weiter helfen?