jdk中提供了什么方法对java类文件进行编译
2个回答
展开全部
import java.lang.reflect.Method;
import java.net.URL;
import java.net.URLClassLoader;
import javax.tools.JavaCompiler;
import javax.tools.ToolProvider;
public class Demo01 {
public static void main(String[] args) throws Exception {
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
int result = compiler.run(null, null, null, "C:/source/HelloWorld.java");
System.out.println(result==0?"编译成功" : "编译失败");
URL[] urls = new URL[]{new URL("file:/" + "C:/source/")};
URLClassLoader classLoader = new URLClassLoader(urls);
Class<?> clazz = classLoader.loadClass("HelloWorld");
//调用main方法
Method m = clazz.getMethod("main", String[].class);
m.invoke(null, (Object)new String[]{});
}
}
上述代码会将c盘目录下的HelloWorld.java文件编译成HelloWorld.class文件,并将其加载到JVM虚拟机中,调用main方法将其执行
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询