在服务器上执行Java代码

我正在开发Web应用程序,这是一种在线IDE,用于编写和编译代码.编程语言是在大学内部开发的,也是编译器.

我的问题是:是否可以在服务器上执行编译器(编译器是用Java编写的),以便编译代码并返回要下载的已编译文件?

用户以更简单的方式使用在线代码编辑器,然后单击编译按钮,服务器获取已编写的代码,执行该服务器上的编译器(编译器以java编写),然后返回已编译的文件.

那么如何在服务器上执行用Java编写的编译器呢?

先感谢您 !

解决方法:

您没有说什么类型的服务器,或者您使用什么语言来开发Web应用程序(PHP,node.js,python,perl等),但是通常Java发行版都具有可运行Java代码的命令行二进制文件.

如果编译器文件位于jar文件中,则webapp执行的命令可能很简单,例如:

java -jar editor.jar输入代码文件输出可执行文件

当然,您可以替换文件名并添加编译器所需的适当选项(如果有).

编辑:我看到您用node.js标记了您的问题,所以我假设这是您在服务器端使用的语言.

node.js具有“子进程”,可让您执行外部命令.
因此,使用我在上面给出的示例命令,您将执行以下操作:

var exec = require('child_process').exec;
var compileit = 'java -jar compiler.jar inputcodefile outputexecutablefile';

exec(compileit, function(error, stdout, stderr) {
});

使用PHP更加容易:

exec('java -jar compiler.jar inputcodefile outputexecutablefile');

有关PHP中exec()函数的更多信息,请参见http://php.net/manual/en/function.exec.php.

上一篇:如何将PyQt脚本(.py)编译为Windows(.exe)和/或linux的单个独立可执行文件?


下一篇:c – 使用ncurses时对`stdscr’的未定义引用