Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在创建一个可以按字符串执行自定义代码的软件,是否有任何方法函数或任何你想要的东西可以做到这一点:
String command="println("the TEST work !!!")"; magicExecMethod(command);
*并打印:测试工作!
谢谢
您有几种方法可以实现这一目标。
您可以通过逐行打印来创建java文件,然后通过从命令行调用编译器或调用来编译它java.lang.Compiler,然后运行它。
java
java.lang.Compiler
另一种方法是直接使用 Groovy 运行您的行 - 基于 Java 的语言,支持 Java 语法并且可以在解释器模式下使用。
如果您不坚持使用 java 语法,例如可以使用 java 脚本,那么您可以使用ScriptingHost和 Rhino,它是自 java 1.5 以来 JDK 的一部分。
ScriptingHost