- Joined
- Apr 8, 2007
- Messages
- 6,474
- Points
- 0
ich habe eine Frage zu JAVA Reflection... ich habe mir 2 Test Klassen geschrieben
Rofl :
package Reflect;
public class Rofl {
public Rofl(){
System.out.println("HELLO");
System.exit(0);
}
}
und ein Tester mit Main drin ... ich weiss ist net schön aber den Zweck erfüllt es
public class member_konstruktoren {
public static void main(String[] args) {
create("Reflect.Rofl");
}
public static void create(String className){
Object object = null;
try {
Class classDefinition = Class.forName(className);
log(classDefinition.toString());
object = classDefinition.newInstance();
} catch (InstantiationException e) {
System.out.println(e);
} catch (IllegalAccessException e) {
System.out.println(e);
} catch (ClassNotFoundException e) {
System.out.println(e);
}
}
so wenn ich jetzt mein Programm in Eclipse ausführe klappts ohne Probleme ... wenn ich nun aber die Rofl Datei lösche das JAVA File als .JAR exportiere und mir die Ordner Struktur nachbaue und dort die Rofl reinlege findet er sie nicht mehr .... später soll das so werden, dass ich die KIs in ein Ordner lege und über ein Menü auswähle der Code etc. steht schon dafür aber das wär jetzt zuviel Code darum habe ich ne Testklasse geschrieben um mein Problem zu verdeutlich.... dass Problem liegt darin, dass wenn ich nach dem Export des .JARs eine Class laden will findet er diese nicht und ich bekomme ClassNotFoundException.... habe den Tipp bekommen, dass man unter dem JAR File seine Package Struktur nachbilden muss, damit er die Class dann wieder findet .... tut er aber nicht ... könnt ihr mir vll. nen Tipp geben?
Rofl :
package Reflect;
public class Rofl {
public Rofl(){
System.out.println("HELLO");
System.exit(0);
}
}
und ein Tester mit Main drin ... ich weiss ist net schön aber den Zweck erfüllt es
public class member_konstruktoren {
public static void main(String[] args) {
create("Reflect.Rofl");
}
public static void create(String className){
Object object = null;
try {
Class classDefinition = Class.forName(className);
log(classDefinition.toString());
object = classDefinition.newInstance();
} catch (InstantiationException e) {
System.out.println(e);
} catch (IllegalAccessException e) {
System.out.println(e);
} catch (ClassNotFoundException e) {
System.out.println(e);
}
}
so wenn ich jetzt mein Programm in Eclipse ausführe klappts ohne Probleme ... wenn ich nun aber die Rofl Datei lösche das JAVA File als .JAR exportiere und mir die Ordner Struktur nachbaue und dort die Rofl reinlege findet er sie nicht mehr .... später soll das so werden, dass ich die KIs in ein Ordner lege und über ein Menü auswähle der Code etc. steht schon dafür aber das wär jetzt zuviel Code darum habe ich ne Testklasse geschrieben um mein Problem zu verdeutlich.... dass Problem liegt darin, dass wenn ich nach dem Export des .JARs eine Class laden will findet er diese nicht und ich bekomme ClassNotFoundException.... habe den Tipp bekommen, dass man unter dem JAR File seine Package Struktur nachbilden muss, damit er die Class dann wieder findet .... tut er aber nicht ... könnt ihr mir vll. nen Tipp geben?