Daten innerhalb einer jar einlesen

Hallo,

ich möchte über Reflection auf bestimmte Klassen zugreifen die ich nicht kenne. Diese liegen „normal“ in einem bestimmten Ordner. so kann ich mit File("./aktionen") darauf zugreifen und alle Klassen in diesem Ordner mit file.list() auflisten.
Wenn ich das ganze jetzt aber in eine jar packe, dann findet er die Dateien nicht mehr, bzw kann dann nicht mehr den inhalt des Ordners angeben…
Gibt es vielleciht eine Möglichkeit ihn doch dazu zu überreden?

Vielen Dank!

Moien

Wenn ich das ganze jetzt aber in eine jar packe, dann findet
er die Dateien nicht mehr,

Die Syntax zum öffnen von Dateien in Jars ist: new FileInputStream („C:\dein-code\deine.jar!Datei-in-der-Jar“);

bzw kann dann nicht mehr den inhalt
des Ordners angeben…

Das ist in der Tat etwas komplexer. Man sollte in java.util.jar graben.

Gibt es vielleciht eine Möglichkeit ihn doch dazu zu
überreden?

Für das Laden von class-code so beliebigen Dateien erfordert meistens einen eigenen Classloader. Wie das geht weist du ?

cu

Moien

Wenn ich das ganze jetzt aber in eine jar packe, dann findet
er die Dateien nicht mehr,

Die Syntax zum öffnen von Dateien in Jars ist: new
FileInputStream („C:\dein-code\deine.jar!Datei-in-der-Jar“);

bzw kann dann nicht mehr den inhalt
des Ordners angeben…

Das ist in der Tat etwas komplexer. Man sollte in
java.util.jar graben.

Gibt es vielleciht eine Möglichkeit ihn doch dazu zu
überreden?

Für das Laden von class-code so beliebigen Dateien erfordert
meistens einen eigenen Classloader. Wie das geht weist du ?

Äh…nein…
*verzweifelt-schau*

cu

Moien

Für das Laden von class-code aus so beliebigen Dateien erfordert
meistens einen eigenen Classloader. Wie das geht weist du ?

Äh…nein…

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Cl…

Fang bei "The network class loader subclass must define the methods findClass and loadClassData … " an zu lesen. Mehr muss man nicht wissen.

cu