You can do it by using classes inside javax.tools.
You will have a ToolProvider class from which you can obtain a compiler instance and compile code at runtime.
Later you will load .class files just compiled separately with a ClassLoader unless you obtain directly
a binary code for the class and you are able to istantiate it directly.
public class SimpleTest
{
public static void main(String[] args) throws Throwable
{
String filename = args[0];
String className = args[1];
SimpleCompiler compiler = new SimpleCompiler(filename);
ClassLoader loader = compiler.getClassLoader();
Class compClass = loader.loadClass(className);
Object instance = compClass.newInstance();
}
}
0 comments:
Post a Comment