Grundlagen: Pluginschnittstelle/Plugins

barthimaeus

Mitglied
Hi zusammen!

In meinem aktuellen Projekt möchte ich im Kernprogramm der Übersicht/Schlankheit halber nur die grundlegende Funktionalität einbauen - weitere Funktionalität soll über Plugins nach Wunsch des Benutzers hinzugefügt werden können. Mein Projekt implementiert das MVC Designpattern und ich stelle mir vor, dass man zusätzliche Views in Form von Plugins hinzufügen kann.
Leider habe ich bisher noch keine Vorstellung, wie eine derartige Pluginschnittstelle realisiert werden kann. Pluginklassen mit dem Reflectionframework (forName()) zu durchsuchen/analysieren/einbringen, erscheint mir sehr aufwändig - gibt es da keine bessere Möglichkeit?

Ich hoffe ich habe meine Frage verständlich genug formuliert.

Leider hilft auch Google bei meiner Frage nach "java plugins/pluginschnittstellen programmieren" mir nicht weiter, da die Suchmaschine mich logischerweise missversteht und der sonst so schöne Ranking-algorithmus mir bei dieser Suchanfrage mit Priorität Seiten liefern, die mich nicht interessieren, weil es mir nicht um java plugins für webbrowser geht ;)
 

ymene

Bekanntes Mitglied
Ich habe zwar auch noch nicht viel Erfahrung mit Plugin-Schnittstellenprogrammierung, aber ich habe mal ein Plugin für ein Programm geschrieben, welches beim Start der Anwendung einen Folder nach .xml Datein gescanned hat. Jedes neue Plugin hat bei der Installation dort ein XML File hinterlassen und konnte so mit ins Hauptprogramm aufgenommen werden. Weiß nicht, ob das ein gängiges System ist, aber ich fands sehr konfortabel, und Eclipse macht es selber ja auch recht ähnlich soweit ich weiß.

Viele Anregungen findet man auch bei Open Source Anwendungen mit Plugin Unterstützung, vielleicht auch danach einfach mal die Augen offen halten.

Grüße,
ymene
 

Marco13

Top Contributor
Ich hab' auch keine Ahnung :D aber bestätige mit meinem Halbwissen mal ymene: Ja, bei Eclipse läuft das mit den Plugins über eine OSGi/Equinox ( OSGi Alliance | Main / OSGi Alliance ). STARK vereinfacht: Die Plugins beschreiben in einer XML das, was sie können (Extensions), und wo sie sich Andocken wollen (Extension Points), und dann läuft das magische Framework drüber und verbindet das ganze zur vermutlich mächtigsten Entwicklungsubgebung, die es gibt :eek:
Sowas selbst aus dem Boden zu stampfen könnte beliebig aufwändig werden, wenn man nicht vorgefertigte Mechanismen wie die oben genannten verwenden will...
 
G

Gast2

Gast
Jedes neue Plugin hat bei der Installation dort ein XML File hinterlassen und konnte so mit ins Hauptprogramm aufgenommen werden.
die einfache Möglichkeit bei Java - alternativ mit einfachen TXT Dateien

Weiß nicht, ob das ein gängiges System ist, aber ich fands sehr konfortabel,
Java unterstützt nicht das direkte Laden eines JAR und scannen via Reflection ... das geht nur über einen Umweg ... JAR als ZIP betrachten entpacken, einlesen und dann via Reflection ... ist aber nicht ganz einfach ... unter .NET kann man die Assembly laden und durchsuchen nach Datentypen/Annotationen etc.

Viele Anregungen findet man auch bei Open Source Anwendungen mit Plugin Unterstützung, vielleicht auch danach einfach mal die Augen offen halten.
generelle Funktionsweise -> Calculon - All My Plugins

generell musst Du Dich erstmal Entscheiden ob Du Dich in das OSGi Framework einarbeiten willst - hast am Ende definitiv mehr Möglichkeiten ... oder ob Du es einfach haben willst - Interface und gut ist

hand, mogel
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Z Observer/Observable & Grundlagen Allgemeine Java-Themen 6
G JMenu Grundlagen Allgemeine Java-Themen 5
T Performance-Grundlagen Allgemeine Java-Themen 4
T Hilfe bei Grundlagen Javabeans und Eclipse Allgemeine Java-Themen 6
S Pluginschnittstelle Allgemeine Java-Themen 12
I Verbindung eines Java-Plugins mit Webserver Allgemeine Java-Themen 3
J Anzahl geöffneter Plugins Allgemeine Java-Themen 3
M Eclipse Fehler beim Installieren des Plugins "Jigloo" Allgemeine Java-Themen 12
D Programm mit plugins Allgemeine Java-Themen 3
M Plugins für eigene Programme Allgemeine Java-Themen 3
A Eigene Java Plugins entwickeln - wie optimal? Allgemeine Java-Themen 14
D Einfaches Nutzen von Plugins mittels generischer Methode Allgemeine Java-Themen 3
V javadoc mergen / aus mehreren eclipse plugins ein javadoc Allgemeine Java-Themen 3
P Plugins wie in ImageJ, Schadcode ausschließen Allgemeine Java-Themen 4
T Möglichkeiten der Kommunikatin zwischen Plugins in Ecl. RCP Allgemeine Java-Themen 3
A Plugins laden mit Class.forName() Allgemeine Java-Themen 2
P myEclipse 5.x mit Matisse4MyEclipse und kompatible plugins Allgemeine Java-Themen 2
G Probleme mit Plugins Allgemeine Java-Themen 5
G Photoshop Plugins in Java verwenden. Allgemeine Java-Themen 3
L Plugins in Java realisieren: Wie könnte man so etwas machen? Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben