你可以用javax.tools.java编译器类来动态编译java文件。
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);
DiagnosticCollector<JavaFileObject> diagnostics = new DiagnosticCollector<JavaFileObject>();
List<String> optionList = new ArrayList<String>();
JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, optionList, null,
fileManager.getJavaFileObjectsFromFiles(Arrays.asList(javaFiletoCompile)));
if (task.call())
{
//success
} else
{
//fail
}
fileManager.close();