在服务器上执行java代码

IgZ*_*StO 1 java compilation execute node.js server

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

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

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

那我怎么能在服务器上执行编译器(用java编写)呢?

先感谢您 !

ruh*_*net 7

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

如果编译器文件在jar文件中,那么webapp执行的命令可能很简单:

java -jar compiler.jar inputcodefile outputexecutablefile

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

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

node.js具有"子进程",允许您执行外部命令.因此,使用上面给出的示例命令,您可以执行以下操作:

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

exec(compileit, function(error, stdout, stderr) {
});
Run Code Online (Sandbox Code Playgroud)

使用PHP,它更容易:

exec('java -jar compiler.jar inputcodefile outputexecutablefile');
Run Code Online (Sandbox Code Playgroud)

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