我正在使用Java(Swing)构建GUI,我必须从中执行Java代码。为了测试简单的代码,比如用Java打印HelloWorld就行了。
我已经看过论坛问题了,我只知道我必须调用操作系统(我使用Windows7)来执行编译任务。
谢谢。
P.S:我尝试过Runtime.getRuntime()。exec()命令,但没有成功。
答案 0 :(得分:2)
您可能需要查看编译代码部分的java compiler api, runtime.exec()应该使用正确的命令来启动应用程序。
答案 1 :(得分:2)
如果您使用的是IDE,则无需调用这些命令。
编译:
执行命令
...
如果要使用Runtime.getRuntime()。exec()。以下是使用Runtime.getRuntime()。exec()..
的示例import java.io.*;
public class TestExec {
public static void main(String[] args) {
try {
Process p = Runtime.getRuntime().exec("cmd /C dir");
BufferedReader in = new BufferedReader(
new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
“这只是运行dir命令,捕获其输出并将其复制到程序stdout。不是很令人兴奋,但它显示了使用Runtime.exec()的基本部分。你也可以打开进程'输出和错误溪流。“
所以你可以使用Runtime.getRuntime()。exec()发送命令,你可以使用我上面写的javac或java命令。
答案 2 :(得分:1)
对于编译,您需要一个包含Java编译器javac
的已安装JDK。你可以通过Runtime.getRuntime()。exec()来调用javac来编译Java源代码,然后加载它。
或者,您可以使用Java Compiler API。可以通过javax.tools.ToolProvider.getSystemJavaCompiler();
答案 3 :(得分:1)
有一个在SSCCE Text Based Compiler (STBC)中使用JavaCompiler
API的示例。请务必阅读与在运行时类路径上获取tools.jar
相关的页面。
STBC是open source。