Plugin-System: Klassen über String laden

Status
Nicht offen für weitere Antworten.

n0n3

Mitglied
Hi,
ich möchte für mein Programm ein Plugin-System schreiben. Ich hab mir das so gedacht:
Es gibt einen Ordner "Plugins" bei meinem Programm. Darin hat jedes einzelne Plugin einen Ordner, der den Namen des Plugins festlegt. Darin ist wiederum eine .CLASS-Datei, die den Code für einen JInternalFrame enthält, der dann wiederum vom Programm aufgerufen wird. So könnte man dann ganz einfach Plugins in Java schreiben.
Dazu wollte ich dann eine Klasse "PluginLoader" schreiben, die diesen Frame dann aus der Klasse lädt und über eine Methode zurückgibt, sodass man nur noch schreiben müsste:

Code:
PluginLoader myLoader = new PluginLoader();
JInternalFrame pluginFrame = myLoader.loadPlugin("Plugins/MeinPlugin/PluginKlasse.class");

Der PluginLoader müsste also über einen Dateipfad eine beliebige Class-Datei (die von JInternalFrame abgeleitet ist) laden, instanzieren und zurückliefern. Ist das überhaupt möglich? Und wenn ja, wie?
Oder wenn nein, wie könnte man noch ein Plugin System ohne eine eigene Skriptsprache realisieren?

Jetzt schon mal vielen, vielen Dank für die Hilfe! :)

Edit: Geht es vielleicht mit dem ClassLoader? Wenn ja, kan mir jemand ein Beispiel geben, ich versteh das in der Dokumentation nicht so ganz ... :oops:
 

Wildcard

Top Contributor
Beispiele für Classloader findest du zB in der Javainsel.
Ein class Objekt kannst du dann über Reflection instanzieren.
 

n0n3

Mitglied
Habs mit einem ClassLoader probiert, aber so wie ich das verstehe geht das nur mit Klassen aus java und javax oder dem ClassPath ...
Naja egal über die Java Insel hab ich auch nen URLClassLoader gefunden und der funktioniert einwandfrei ...
Also, Problem gelöst, danke Wildcard :)
 
S

Spoons

Gast
Hi,

ich habe etwas Ähnlichs vor.
Jedoch möchte ich zusätzlich noch, dass das PlugIn nicht nur eine .class-Datei ist, sondern ein Jar, sodass der PlugIn-Entwickler mehrere Klassen erstellen kann, wenn ers braucht, und trotzdem nur ein file weitergeben muss.

Kann ich dass dann auch mit dem URLClassLoader (URL: "jar:http:/blabla/bla.jar!/moep/xyz.class") machen, oder muss ich da zusätzlich noch irgendwie mit dem JarURLConnection arbeiten?

Gruss
Spoons
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Java Plugin System (ohne OSGI) Allgemeine Java-Themen 10
Joew0815 Best Practice Wie am besten Plugin-System erstellen? Allgemeine Java-Themen 12
agent47 Plugin System Verständnisfrage Allgemeine Java-Themen 6
P System.out im Eclipse plugin Allgemeine Java-Themen 4
M Plugin-System Allgemeine Java-Themen 4
F Probleme mit eigenem Plugin-System Allgemeine Java-Themen 3
T Hilfe bei Programm. IDE: Eclipse mit EV3-Plugin, lejos Allgemeine Java-Themen 8
Meeresgott Best Practice MVC mit Plugin-Feature Allgemeine Java-Themen 4
J Application mit PLugin erweitern Allgemeine Java-Themen 2
T Eclipse IDE Plugin Error Log Allgemeine Java-Themen 0
S Maven Jars dynamisch laden / Plugin-Struktur erstellen Allgemeine Java-Themen 14
D Bradley Local Thresholding plugin imagej Allgemeine Java-Themen 6
A Best Practice Java - eine Art Plugin-Struktur Allgemeine Java-Themen 3
M eigenes Seekarten-Tool (oder PlugIn?) Allgemeine Java-Themen 2
J Java code "plugin" fähig machen Allgemeine Java-Themen 4
P Find Bugs plugin Allgemeine Java-Themen 2
C BlackBox-Framework - Plugin Programmierung Allgemeine Java-Themen 4
F Framework/Plugin für Tree-Darstellung in Graph Allgemeine Java-Themen 0
F Parser Framework/Plugin für Datei in Custom-Format Allgemeine Java-Themen 2
B Erste Schritte Plugin erkennen und Class Dateien anzeigen lassen Allgemeine Java-Themen 3
M ImageJ: Mit PlugIn Weichzeichnungsfilter schreiben Allgemeine Java-Themen 9
X Java Plugin Befehle Allgemeine Java-Themen 2
O Plugin perfomrant implementieren Allgemeine Java-Themen 12
Y PlugIn für ImageJ Allgemeine Java-Themen 2
B Java Plugin schreiben Allgemeine Java-Themen 11
U Realisierung einer "Plugin-Schnittstelle": Allgemeine Java-Themen 12
D Checkstyle Plugin Allgemeine Java-Themen 4
schlingel Plugin-Architektur - Welche nehmen? Allgemeine Java-Themen 6
partsch Eclipse UML - Plugin Allgemeine Java-Themen 2
A Start von Java Plugin Allgemeine Java-Themen 2
S URLClassLoader und Eclipse Plugin Allgemeine Java-Themen 4
S Intellisense nach SVN Subclipse Plugin Allgemeine Java-Themen 2
B maven 2 error bei plugin download Allgemeine Java-Themen 7
V plugin.jar in application aus jar Allgemeine Java-Themen 2
N Java Plugin? Allgemeine Java-Themen 2
N Argumente für Plugin-Architektur Allgemeine Java-Themen 5
S Plugin zur Generierung von Builds Allgemeine Java-Themen 7
J Java Plugin probleme beim Laden? Allgemeine Java-Themen 3
G AI als PlugIn Allgemeine Java-Themen 2
R Synthesizer-PlugIn Allgemeine Java-Themen 4
S java plugin in firefox/chroot_x86_32 integrieren Allgemeine Java-Themen 3
L Java6 update N bekommt neues Browser-Plugin, bitte testen. Allgemeine Java-Themen 7
G Plugin (Visual Editor) in Eclipse einfügen Allgemeine Java-Themen 2
F Plugin damit M$ Word Java syntax versteht? Allgemeine Java-Themen 12
V Relative Pfade in Eclipse RCP Plugin Allgemeine Java-Themen 14
G Java-Plugin für Vista (x64)? Allgemeine Java-Themen 3
J Suse + Tomcat + Sysdeo Plugin: Tomcat als user starten Allgemeine Java-Themen 2
G Eclipse RCP vs. PlugIn Allgemeine Java-Themen 2
reibi Eclipse PlugIn selber programmieren Allgemeine Java-Themen 3
M PlugIn für Klasse bauen Allgemeine Java-Themen 6
G plugin für eclipse zum kommentieren Allgemeine Java-Themen 9
N Als *.esp (Elder Scrolls Plugin) exportieren Allgemeine Java-Themen 12
C Dynamisches Nachladen von JARs (Plugin) Allgemeine Java-Themen 3
D Eigener Maven2 Plugin Server? Allgemeine Java-Themen 3
P Fehlermeldung "Die Klasse sun/plugin/javaRunTime kann n Allgemeine Java-Themen 3
S Nice Plugin in Eclipse Allgemeine Java-Themen 2
K PDF PlugIn zur Anzeige/Druck von PDF's Allgemeine Java-Themen 7
T Plugin um unbenötigte librarys zu finden Allgemeine Java-Themen 12
E Visueller Editor für Druckformulare - Plugin für Eclipse Allgemeine Java-Themen 2
rambozola jpg in mit eclipse-plugin one-jar erstellter jar-datei Allgemeine Java-Themen 2
T eigenes Browser Plugin Allgemeine Java-Themen 6
T Plugin engine? Allgemeine Java-Themen 10
S ActiveX Java Plugin Allgemeine Java-Themen 2
G Plugin Management Allgemeine Java-Themen 2
A Anwendungs-Design (Plugin-Architektur) Allgemeine Java-Themen 4
T OJI-Plugin Allgemeine Java-Themen 4
X Input/Output InputStream/Scanner(System.in) read()/hasNextLine() block unterbrechen Allgemeine Java-Themen 7
P9cman java.Lang Klassen fehlen in JRE System Library Allgemeine Java-Themen 1
B Lottospielen mit System, Versuch 2, noch umständlicher als vorher Allgemeine Java-Themen 1
J Frage zu System.getproperties. Allgemeine Java-Themen 60
sascha-sphw Erste Schritte Unit und Integration-Tests im Java Modul System Allgemeine Java-Themen 10
F Frage zu System.in Allgemeine Java-Themen 3
E System property setzten Allgemeine Java-Themen 8
Kirby.exe Movement System für Spiel Allgemeine Java-Themen 13
O Beziehung System.exit(x) <>Errorlevel Allgemeine Java-Themen 2
B System.out Ausgabe auf jtextarea Fehlersuche Allgemeine Java-Themen 8
F System Tray Menubutton ActionListener Allgemeine Java-Themen 5
H Im Tiled-Map-System ein Item anklicken Allgemeine Java-Themen 0
D System.arraycopy verhält sich seltsam Allgemeine Java-Themen 1
C Login System Allgemeine Java-Themen 19
A BufferedReader ohne System.in Allgemeine Java-Themen 9
VfL_Freak JDK installieren System-Property "user.dir" Allgemeine Java-Themen 6
J System.arraycopy ergibt anderes Resultat als for-loop Allgemeine Java-Themen 4
F Wie kann ich auf einem System prüfen, ob eine lib verfügbar ist? Allgemeine Java-Themen 2
D Java System.out::println Allgemeine Java-Themen 1
D Methoden Java Applikation Die System Auslastung optimieren ? Allgemeine Java-Themen 7
S Ist Java ein geschlossenes System? Allgemeine Java-Themen 2
L Erste Schritte Suche Java Wiki System? Allgemeine Java-Themen 5
chuxXo System/JLayer Volume ändern Allgemeine Java-Themen 0
Neumi5694 System.out und System.err umleiten - NICHT im Quelltext Allgemeine Java-Themen 4
X System.out/err(Die Console) in JTextArea ausgeben Allgemeine Java-Themen 2
S Best Practice System.arrayCopy verändert Ziel-Array Allgemeine Java-Themen 2
A Methoden Der Sinn von system.out.print(); Allgemeine Java-Themen 9
A System freezes when trying to run external command from Java with wait for Allgemeine Java-Themen 3
A Java | Login-System Allgemeine Java-Themen 3
C System.out.print("") Compiler Fehler Allgemeine Java-Themen 2
C System.in erhält Input von Tastatur. wo wird das festgelegt? Allgemeine Java-Themen 4
F Benachrichtigungs-System Webapp Java Servlet Allgemeine Java-Themen 10
M collection persistence system Allgemeine Java-Themen 4
V System.out.println an jeder Stelle im Projekt löschen Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben