package top.xq.dynamic;
import javax.tools.JavaCompiler;
import javax.tools.ToolProvider;
import java.lang.reflect.InvocationTargetException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
/**
* 类名称 DynamicComplier
* 说明 java的动态编译,比如一个代码比赛网站,在参赛者从浏览器中提交了代码后,服务器端接受代码,能够动态的将代码编译运行处理
* 使用JavaComplier类来完成
* 作者 IT小黑
* 日期 2019/10/18
*/
@SuppressWarnings("all")
public class DynamicComplier {
public static void main(String[] args) throws MalformedURLException {
//如果是代码字符串,则通过输出流先将代码字符串存到本地的java文件中,然后再编译就可以了
JavaCompiler javaCompiler = ToolProvider.getSystemJavaCompiler();
int runResult = javaCompiler.run(null, null, null,
"F:\\java\\code\\study\\src\\top\