CHAPTER 8 THE JAVA COMPILER API 165
CHAPTER 8 THE JAVA COMPILER API 167 out.println(” }”); out.println(”}”); out.close(); JavaFileObject file = new JavaSourceFromString(”HelloWorld”, writer.toString()); // Compile class Iterable extends JavaFileObject> compilationUnits = Arrays.asList(file); CompilationTask task = compiler.getTask( null, null, diagnostics, null, null, compilationUnits); task.run(); boolean success = task.getResult(); for (Diagnostic diagnostic : diagnostics.getDiagnostics()) System.console().printf( “Code: %s%n” + “Kind: %s%n” + “Position: %s%n” + “Start Position: %s%n” + “End Position: %s%n” + “Source: %s%n” + “Message: %s%n”, diagnostic.getCode(), diagnostic.getKind(), diagnostic.getPosition(), diagnostic.getStartPosition(), diagnostic.getEndPosition(), diagnostic.getSource(), diagnostic.getMessage(null)); System.out.println(”Success: ” + success); // Invoke new class if (success) { try { System.out.println(”—–Output—–”); Class.forName(”HelloWorld”).getDeclaredMethod(”main”, new Class[] {String[].class}).invoke(null, new Object[] {null}); System.out.println(”—–Output—–”); } catch (ClassNotFoundException e) { System.err.println(”Class not found: ” + e); } catch (NoSuchMethodException e) { System.err.println(”No such method: ” + e); } catch (IllegalAccessException e) { System.err.println(”Illegal access: ” + e); } catch (InvocationTargetException e) {
Note: If you are looking for good and high quality web space to host and run your application check Lunarwebhost Java Web Hosting services