Я пытаюсь загрузить классы, которые я генерирую компиляцией во время выполнения.Я могу без проблем скомпилировать их с помощью этого кода:
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);
List<File> sourceFileList = new ArrayList<File>();
sourceFileList.add(new File(sourceFile));
Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjectsFromFiles(sourceFileList);
CompilationTask task = compiler.getTask(null, fileManager, null, null,null, compilationUnits);
Но я не понимаю, как загрузить скомпилированный класс (или где он компилируется) для последующего использования.Я пробовал несколько вещей, таких как:
Class type = ClassLoader.getSystemClassLoader().loadClass(className);
или
ClassLoader loader = URLClassLoader.newInstance(new URL[] { myUrl }, getClass().getClassLoader()); //(URL?)
без успеха (я не понимаю это ...).Не могли бы вы помочь мне или привести простой пример того, как я могу это сделать, чтобы я мог разработать форму?
Заранее спасибо.