Привет, У меня есть требование для создания, компиляции и загрузки классов Java-классов. Используя FTL, я создаю исходные файлы java и могу скомпилировать источник, если нет динамической зависимости.Использование Java Compiler API для компиляции нескольких java-файлов
Чтобы разработать экземпляр, у меня есть два исходных файла java, один интерфейс и его класс реализации. Я могу компилировать интерфейс с помощью Java API компилятора следующей
String classpath=System.getProperty("java.class.path");
String testpath =classpath+";"+rootPath+"/lib/is_wls_client.jar;"+rootPath+"/rtds_wls_proxyclient.jar;.;";
File javaFile = new File(javaFileName+".java");
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
List<String> optionList = new ArrayList<String>();
optionList.addAll(Arrays.asList("-classpath",testpath));
StandardJavaFileManager sjfm = compiler.getStandardFileManager(null, null, null);
Iterable fileObjects = sjfm.getJavaFileObjects(javaFile);
JavaCompiler.CompilationTask task = compiler.getTask(null, null, null,optionList,null,fileObjects);
task.call();
sjfm.close();
Я установил путь класса для статических классов, которые уже находятся в пути к классам, но этот подход не работает для динамически создаваемых классов? Любой пользовательский загрузчик классов выполнит исправление? Моя последняя реализация будет в веб/сервера приложений
Любая обратная связь будет высоко оценен
Satheesh
После определения класса вам необходимо его решить. –