K
Knecht Purpecht
Gast
Hallo,
ich würde einer Anwendung gerne eine Art von Plug-In-System einbinden. Dazu habe ich mir gedacht, dass es einen Ordner gibt, in welchem class-Dateien liegen. Die dadurch repräsentierten Klassen dürfen allerdings in verschiedenen Packages liegen, also im Dateisystem in unterschiedlichen Ordnern.
Zum Laden der Klassen während der Laufzeit wollte ich dann ein ClassLoader-Objekt verwenden (Alternativen gibt es ja, soweit ich weiß, keine).
Meine Frage ist nun: Wie kann ich möglichst komfortabel sämtliche Klassen in diesem Plug-In-Ordner laden? Theoretisch müsste ich rekursiv alle Unter-Ordner nach *.class-Dateien durchsuchen und mir aus den Pfaden dann den entsprechenden Klassen-Namen zusammen basteln. Das erscheint mir jedoch etwas zu kompliziert, weil ich dann auch noch den Pfad-Separator des entsprechenden OS unterscheiden müsste.
Gibt es da vielleicht schon eine Sequenz von Methoden-Aufrufen, die genau das erfüllt?
ich würde einer Anwendung gerne eine Art von Plug-In-System einbinden. Dazu habe ich mir gedacht, dass es einen Ordner gibt, in welchem class-Dateien liegen. Die dadurch repräsentierten Klassen dürfen allerdings in verschiedenen Packages liegen, also im Dateisystem in unterschiedlichen Ordnern.
Zum Laden der Klassen während der Laufzeit wollte ich dann ein ClassLoader-Objekt verwenden (Alternativen gibt es ja, soweit ich weiß, keine).
Meine Frage ist nun: Wie kann ich möglichst komfortabel sämtliche Klassen in diesem Plug-In-Ordner laden? Theoretisch müsste ich rekursiv alle Unter-Ordner nach *.class-Dateien durchsuchen und mir aus den Pfaden dann den entsprechenden Klassen-Namen zusammen basteln. Das erscheint mir jedoch etwas zu kompliziert, weil ich dann auch noch den Pfad-Separator des entsprechenden OS unterscheiden müsste.
Gibt es da vielleicht schon eine Sequenz von Methoden-Aufrufen, die genau das erfüllt?