
{filelink=5848}
/*
* 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 diagnostics = new DiagnosticCollector();
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;
}