В моем предыдущем вопросе я спросил, как загрузить удаленные файлы 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, а затем вернуться к стандартному ?
Спасибо,
Барт