Hiho,
ich verzweifel hier grade daran dynamisch Klassen nachzuladen vond enen zum Programmstart nur das Interface bekannt ist.
Also ich habe mein normales programm und dann eine Datei "states.jar" Die liegt derzeit bei mir im selben Package ichd as die schon überall hingetan aber ohne Erfolg wo muss die wirklich hin? Ich will am Ende zwei *.jar Datein haben eine programm.jar (ausführbar) und eine states.jar in der sich Statusklassen befinden, die von einem der Interfaces (CellState) in der programm.jar abgeleitet sind.
So also die states.jar existiert nun wie gesagt. Wie komm ich da jetzt ran?
Hier das Codefragment:
[JAVA=42]
URLClassLoader urlCl = new URLClassLoader(new URL[] {new URL("file:/states.jar")}, this.getClass().getClassLoader());
Class<?> mainClass = (Class<?>) urlCl.loadClass("bspState");
state = (CellState) mainClass.newInstance();
[/code]
bspState ist der name der *.class Datei in states.jar und CellState wie gesagt das Interface von dem bspState abgeleitet ist. Ich bekomme eine ClassNotFoundException und ich tippe darauf, dass entweder die URL oder der Klassenname falsch sind und wahrscheinlich sogar beides
Würd mich freuenw enn mir jemand helfen könnte
mfg
ich verzweifel hier grade daran dynamisch Klassen nachzuladen vond enen zum Programmstart nur das Interface bekannt ist.
Also ich habe mein normales programm und dann eine Datei "states.jar" Die liegt derzeit bei mir im selben Package ichd as die schon überall hingetan aber ohne Erfolg wo muss die wirklich hin? Ich will am Ende zwei *.jar Datein haben eine programm.jar (ausführbar) und eine states.jar in der sich Statusklassen befinden, die von einem der Interfaces (CellState) in der programm.jar abgeleitet sind.
So also die states.jar existiert nun wie gesagt. Wie komm ich da jetzt ran?
Hier das Codefragment:
[JAVA=42]
URLClassLoader urlCl = new URLClassLoader(new URL[] {new URL("file:/states.jar")}, this.getClass().getClassLoader());
Class<?> mainClass = (Class<?>) urlCl.loadClass("bspState");
state = (CellState) mainClass.newInstance();
[/code]
bspState ist der name der *.class Datei in states.jar und CellState wie gesagt das Interface von dem bspState abgeleitet ist. Ich bekomme eine ClassNotFoundException und ich tippe darauf, dass entweder die URL oder der Klassenname falsch sind und wahrscheinlich sogar beides
Würd mich freuenw enn mir jemand helfen könnte
mfg