Hola Tengo el requisito de crear, compilar y cargar clases Java. Usando FTL estoy creando archivos fuente de Java, y puedo compilar el código fuente si no hay una dependencia dinámica.Uso de Java Compiler API para compilar varios archivos java
Para elaborar con una instancia, tengo dos archivos fuente java, una interfaz y su clase de implementación. Soy capaz de compilar la interfaz API usando compilador de Java de la siguiente manera
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();
puse ruta de clase para las clases estáticas que ya se encuentran en la ruta de clase, pero este enfoque no trabajo para las clases creadas dinámicamente? ¿Algún cargador de clases personalizado hará la corrección? Mi aplicación final será en el servidor web/app
Cualquier comentario será muy apreciada
Satheesh
Después de definir una clase, necesita resolverla. –