使用JavaCompiler编译目录

时间:2012-06-08 21:47:36

标签: java file java-compiler-api

我有以下哪些代码用于使用JavaCompiler编译单个文件:

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
DiagnosticCollector<JavaFileObject> diagnostics = new DiagnosticCollector<JavaFileObject>();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnostics, null, null);
Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjectsFromStrings(Arrays.asList(file.getAbsolutePath()));
JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, null, null, compilationUnits);
boolean success = task.call();
fileManager.close();

我的问题是:如何更改此编译以编译特定目录中的所有源文件?

1 个答案:

答案 0 :(得分:1)

从目录中获取所有文件(使用directory.listFiles()),并将生成的数组传递给getJavaFileObject(File...)