12

.java ファイルを書き込み、(できれば) それらのファイルを .class ファイルにコンパイルするツールを作成しています。すべて 1 つのプロセスで、ユーザーは複数の .java ファイルが書き込まれるファイル ディレクトリを選択します。ここで、プログラムでこれらの Java ファイルをコンパイルする必要があります。

4

2 に答える 2

15

JavaCompilerあなたの友だちです。こちらのドキュメントを確認してください

そして、ここにコンパイラAPIの使用方法の例があります

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
DiagnosticCollector<JavaFileObject> diagnostics = new DiagnosticCollector<>();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnostics, null, null);
Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjectsFromStrings(Arrays.asList("YouFileToCompile.java"));
JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, null,
        null, compilationUnits);
boolean success = task.call();
fileManager.close();
于 2012-06-04T22:20:27.030 に答える
6

コードがJREから実行されている場合になりますJavaCompilernullを含むJDKが必要tools.jarです。

于 2012-06-05T01:26:22.720 に答える