Mega Code Archive

 
Categories / Java Tutorial / Development
 

Diagnostic Demo

import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.tools.Diagnostic; import javax.tools.DiagnosticCollector; import javax.tools.JavaCompilerTool; import javax.tools.JavaFileObject; import javax.tools.StandardJavaFileManager; import javax.tools.ToolProvider; import javax.tools.JavaCompilerTool.CompilationTask; public class DiagnosticDemo {   public static void main(String[] args) {     String sourceFile = "c:/HelloWorld.Java";     JavaCompilerTool compiler = ToolProvider.getSystemJavaCompilerTool();     DiagnosticCollector<JavaFileObject> diagnostics = new DiagnosticCollector<JavaFileObject>();     StandardJavaFileManager fileManager =     compiler.getStandardFileManager(diagnostics);     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);     task.run();     try {       fileManager.close();     } catch (IOException e) {     }     List<Diagnostic<? extends JavaFileObject>> diagnosticList = diagnostics.getDiagnostics();     for (Diagnostic<? extends JavaFileObject> diagnostic : diagnosticList) {       System.out.println("Position:" + diagnostic.getStartPosition());     }   } }