実行時にJavaソースを動的にコンパイルしてロードして利用する
690 ワード
複数のファイルの動的コンパイルをサポートするコードセグメント:
/**
* @param srcFiles
*/
private void compileTheJavaSrcFile(File ... srcFiles) {
try {
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileMgr = compiler.getStandardFileManager(null, null, null);
CompilationTask t = compiler.getTask(null, fileMgr, null, null, null, fileMgr.getJavaFileObjects(srcFiles));
t.call();
fileMgr.close();
} catch (Throwable e) {
throw new RuntimeException("Fail to compile files [" + srcFiles + "]", e);
}
}