Я пытаюсь загрузить набор файлов .class из определенного пути (пакета), используя загрузчик классов Java.Проблема заключается в следующем: когда один из этих классов связан с последним классом или классом в другом пакете, загрузчик классов выбрасывает NoClassDefFoundError.Как решить эту проблему?Вот мой код
public ArrayList<Class<?>> readFiles(String nomeFile) throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException {
File f = new File(nomeFile);
String[] files = f.list();
for (int i = 0; i < files.length; i++) {
if (files[i].endsWith(".class")) {
Class<?> mycls;
String fileName = files[i];
String fnm=nomeFile+"/"+fileName;//file canonical name.class
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
InputStream in = new FileInputStream(fnm);
byte [] buff = new byte[4096];
while (true) {
int c = in.read(buff);
if (c == -1) break;
out.write(buff, 0, c);
}
mycls = defineClass(null, out.toByteArray(), 0, out.toByteArray().length);
System.out.println(mycls.getCanonicalName()+" class is loaded");
classes.add(mycls) ;
}
}
return classes;
}