学习笔记——JAVA动态编译

来源:互联网 发布:t22被砍后数据 编辑:程序博客网 时间:2024/06/06 04:22

在D:/text/建立HelloWorld.java并且写java代码

package study;import javax.tools.JavaCompiler;import javax.tools.ToolProvider;public class CompileDome {    public static void main(String[] args) {        JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();        int result=compiler.run(null, null, null,"D:/text/HelloWorld.java");                System.out.println(result == 0?"成功":"失败");    }}

反射运行方法

//并未实际运行try {            URL[] urls = new URL[] { new URL("file:/" + "D:/text/") };            URLClassLoader loader = new URLClassLoader(urls);            Class c = loader.loadClass("HelloWorld");            // 调用加载类的main方法            Method m = c.getMethod("main", String[].class);            m.invoke(null, (Object) new String[]{});        } catch (Exception e) {            e.printStackTrace();        }
原创粉丝点击