/* * Cette Méthode compile un fichier java et retourne le résultat */ private String compileJavaFile(String fichier)throws Exception { String message=""; JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); DiagnosticCollector<JavaFileObject> diagnostics = new DiagnosticCollector<JavaFileObject>(); StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnostics, null, null); Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjects(new File(fichier)); JavaCompiler.CompilationTask task2 = compiler.getTask(null, fileManager, diagnostics, null, null, compilationUnits); Boolean result = task2.call(); fileManager.close(); if (!result) { System.out.println("Compilation failed."); message="Compilation à échouée.\n"; } else { message="Compilation réussie.\n"; } for (Diagnostic<? extends JavaFileObject> d : diagnostics.getDiagnostics()) { System.out.println(1); System.out.println(d.getKind() + ": " + d.getMessage(null)); // Spécifier la ligne et la position d'erreur message+=d.getKind() + ": " + d.getMessage(null)+": "+d.getCode()+": "+d.getStartPosition()+": "+d.getEndPosition()+"\n"; } // Retourner le message d'erreur return message; }