基于此 Java Tip,如果您愿意使用com.sun.tools.javac.Main.compile(source).
中的类com.sun.tools当然不是官方 Java API 的一部分。
在 Java 6 中,有一个编译器 API 提供对编译器的编程访问。请参阅接口 JavaCompiler 的文档。
任何标准 API都不直接eval提供,但可以使用工具来构建您自己的 API。如果您尝试执行完全通用的评估,则可能会遇到“JVM 内部的 JVM”问题,因此最好限制您想要执行的操作的范围。
另请参阅:Java 中有 eval() 函数吗?一些好的评论和解释。