这可能听起来很愚蠢。但是它可能吗?我正在考虑创建一个允许某人在其中编码的程序,然后运行代码来测试输出。当然,要做到这一点,我需要能够从Java中编译和运行Java。提前谢谢。
答案 0 :(得分:2)
JDK6添加了compiler tools api
那应该做你想要的。
答案 1 :(得分:0)
您可以尝试使用以下代码片段从java程序模拟终端或命令行...
import java.io.IOException;
public class Test {
public static void main(String[] args) throws IOException {
Process p = Runtime.getRuntime().exec(new String[]{"bash","-c","echo abc > test.txt"});
p = Runtime.getRuntime().exec(new String[]{"bash","-c","java HelloWorld > test.txt"});
}
}
所以这段代码基本上做的是它执行一个bash shell,它执行各种shell命令,如echo abc > test.txt
(main方法中的第一行)或java HelloWorld > test.txt
(第二行)主要方法)。所以在这里,它就像启动shell命令但是来自Java程序