除了 Janino 之外,是否还有其他选项可以进行 Java 代码的即时编译和执行?我知道 v6 有编译器 API,但我需要使用 v5 VM。实际上,我需要将包含完整 Java 类的字符串编译并加载到内存中。
在程序中调用javac:
http://www.juixe.com/techknow/index.php/2006/12/12/invoke-javac-at-runtime/
com.sun.tools.javac.Main javac = new com.sun.tools.javac.Main();这段代码展示了如何在程序中调用javac编译器。首先,创建一个javac对象,然后设置编译选项(包括类路径、输出目录和文件名),最后调用compile方法进行编译。
String[] options = new String[] { "-classpath", classpath, "-d", outputDir, filename };
javac.compile(options);