В предишния си въпрос попитах как да заредя отдалечени jar файлове. Текущият ми код е следният:
//f is the path to the jar
URLClassLoader loader = new URLClassLoader(new URL[]{f.toURI().toURL()});
Class<?> jarClass = Class.forName(main, true, loader);
Class<? extends Module> module = jarClass.asSubclass(Module.class);
Constructor<? extends Module> constructor = module.getConstructor();
System.out.println(constructor);
Module module = constructor.newInstance();
Това работи добре, но дистанционно заредените модули разширяват клас, който е в буркана, който ги зарежда, което дава тази грешка:
Причинено от: java.lang.ClassNotFoundException: package.whatever.Module, което предполагам е, защото използва URLClassLoader вместо getClass().getClassLoader().. как мога да го накарам да използва URLClassLoader и след това да се върна към стандартния ?
Благодаря,
Барт