[英]Invoke compilers of different languages from within sts/eclipse
我遇到一种情况,用户将文件发布到服务器,并且需要在服务器端进行编译。 服务器应检测语言并调用相应的编译器,然后将结果发送回客户端。 现在,我们正在支持Java,Python和C。有没有办法编译未从eclipse内部导入到eclipse中的Java文件? 而且,是否有一种方法可以从eclipse中调用python和C(或可以使用任何其他语言)的编译器?
当您检测代码的语言时,这变得非常容易:
String compiler = "";
switch(compilerCode)
{
case JAVA:
compiler = "javac";
break;
case C:
compiler = "javac";
break;
...
}
Process p = Runtime.getRuntime().exec(compiler + " " + file);
p.waitFor();
file
将是您尝试编译的文件的名称,并且compilerCode
将是一个告诉您要使用哪个编译器的代码。
不用说,但是您应该安装所有编译器,以编译打算支持的所有语言。
编辑:
从正在运行的进程中获取错误消息非常容易。 您需要做的只是:
InputStream in = p.getErrorStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
...
String error = reader.readLine();
...
reader.close();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.