0

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();

私の質問は、特定のディレクトリにあるすべてのソースファイルをコンパイルするためにこれを変更するにはどうすればよいですか?

4

1 に答える 1

1

ディレクトリからすべてのファイルを取得し(directory.listFiles()を使用)、結果の配列をgetJavaFileObject(File ...)に渡します。

于 2012-06-08T21:56:53.920 に答える