如何使用Java代码运行Java代码?
基本上,我想做两件事:如何使用Java代码运行Java代码?,java,Java,基本上,我想做两件事: 我想知道是否有任何方法可以使用Java代码运行Java代码 如果可能,我将如何在屏幕上显示输出?(无论是常规输出还是错误或异常) 我知道这是可能的,因为我的一个前辈做过,但我不知道他是怎么做的。也许他使用了Java的一个内置类 注意:用户将在某个文本文件中编写代码,然后我将该文件内容存储在某个变量中,然后可能会运行该代码。您必须了解如何调用编译器(如Suns javac),在出现错误时解析其输出,并动态加载生成的类 Java运行时库中没有可以解析、编译和运行Java源代码
注意:用户将在某个文本文件中编写代码,然后我将该文件内容存储在某个变量中,然后可能会运行该代码。您必须了解如何调用编译器(如Suns javac),在出现错误时解析其输出,并动态加载生成的类 Java运行时库中没有可以解析、编译和运行Java源代码的API类。如果您需要Java的API类(因此,无需编译),请查看。
我非常喜欢这个 是的,这是可能的 步骤1:编译代码
使用或构造Java编译器编译其代码的。(请注意,这要求系统在运行时提供Java编译器) 步骤2:调用他们的代码
有两种方法可以调用它们的代码。您可以再次使用ProcessBuilder或Runtime对象来构造一个流程,在其中执行Java代码。您可以使用进程的和函数来读取和写入另一个进程。另一种选择是,您可以使用和各种反射API加载代码并直接在Java中执行。您可以使用运行在JVM之上的脚本语言。这是一个非常好的主意,它的语法与Java非常相似 BeanShell已经有好几年没有进行过积极的开发了,所以我不推荐它。也许他已经按照你说的做了,但我想知道是怎么做的?要么他构建了自己的java解析器/编译器,要么他使用了一个现成的编译器后端,如suns javac或eclipse jdt。java编译器经常出现在JDK中,或者作为独立的eclipse编译器出现。