Hallo
Ich kämpfe mit folgene Problem ( google'n hat nichts geholfen ) :
eine bestehenen Klasse B wird als Oberklasse in C (extends B) verwendet. Die Source für C wird vom Programm in C.Java erstellt
mit ToolProvider.getSystemJavaCompiler() combiliert.
mit dem URLClassLoader und Class.forName() nachgeladen.
da es viele Klassen ähnlich C geben wird, ist der nächsten Schritt ein cast von der C auf B.
wenn ich das pkg in Eclipse ausführe ist alles perfekt.
aber
wird ein .jar erstellt liefert das pkg eine Exeption
hat vielleicht jemand eine Idee, wäre nett
Danke
rud
Ich kämpfe mit folgene Problem ( google'n hat nichts geholfen ) :
eine bestehenen Klasse B wird als Oberklasse in C (extends B) verwendet. Die Source für C wird vom Programm in C.Java erstellt
mit ToolProvider.getSystemJavaCompiler() combiliert.
mit dem URLClassLoader und Class.forName() nachgeladen.
da es viele Klassen ähnlich C geben wird, ist der nächsten Schritt ein cast von der C auf B.
Java:
URLClassLoader classLoader = new URLClassLoader(new URL[] { _Cclass.getAbsoluteFile().getParentFile().toURI().toURL()});
Class<B> bClass = (Class<B>) Class.forName(_s, true, classLoader);
Constructor<B> cons = bClass.getConstructor();
Object bClassObject = cons.newInstance();
B anno = (B) bClassObject;
aber
wird ein .jar erstellt liefert das pkg eine Exeption
Code:
Caused by: java.lang.ClassCastException: C cannot be cast to B
at CompileDemo.load(CompileDemo.java:96)
at CompileDemo.main(CompileDemo.java:62)
... 5 more
hat vielleicht jemand eine Idee, wäre nett
Danke
rud
Zuletzt bearbeitet von einem Moderator: