我已经编写了一些代码来编译Java源代码。然后它会生成.class文件。问题是我该如何运行它?
例如,如果程序和类的名称已设置为prog p = new prog(),在这种情况下,我可以正常运行,但是在我编译之前,类文件还不存在。不太确定该怎么做。有人能给我建议吗?
顺便说一句,这个类看起来像这样:
public void compile{
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
int compilationResult = compiler.run(null, null, null, fileToCompile);
}
public void run(){
Prog prog = new Prog();
prog.run();
}
run
是一个静态函数,那么是的。如果run
是一个实例函数(即它没有标记为static
),则您需要首先传递 MyClass 的一个实例给invoke
,例如:aClass.getMethod("run").invoke(aClass.newInstance())
。 - Zach L