Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在服务器上使用Runtime.exec执行二进制java文件_Java_Jsp_Cmd - Fatal编程技术网

在服务器上使用Runtime.exec执行二进制java文件

在服务器上使用Runtime.exec执行二进制java文件,java,jsp,cmd,Java,Jsp,Cmd,我正在尝试构建一个用jsp编写的在线java编译器,服务器端从客户端接收上传的代码,编译它们,然后运行代码,最后将输出输出输出到用户的html表单。 我编写了一段代码,创建一个临时java文件(temp.java),其中包含来自客户端的代码,然后编译它,创建(temp.class)文件, 问题是在最后一步,当我尝试执行该文件时,当我使用本地机器cmd时,它运行良好: java temp 但是当我使用java运行时在服务器上调用命令时,如下所示: Process proc = Runtime.g

我正在尝试构建一个用jsp编写的在线java编译器,服务器端从客户端接收上传的代码,编译它们,然后运行代码,最后将输出输出输出到用户的html表单。 我编写了一段代码,创建一个临时java文件(temp.java),其中包含来自客户端的代码,然后编译它,创建(temp.class)文件, 问题是在最后一步,当我尝试执行该文件时,当我使用本地机器cmd时,它运行良好:

java temp
但是当我使用java运行时在服务器上调用命令时,如下所示:

Process proc = Runtime.getRuntime().exec("java testing/temp");
输出为:

Error: Could not find or load main class temp
问题是,运行时找不到二进制文件。。 那么,道路是什么呢?
编译器位于包含java文件的包中,而客户端二进制文件被创建并存储在build/web中的文件夹(测试)中。

尝试提供类的完整路径。我想应该会有帮助。

这听起来是个非常糟糕的主意。我给你十分钟的时间,然后你就完蛋了。好吧,那么一个好主意怎么行得通呢?我不知道在线编译器是如何工作的,我尝试使用以下命令获取完整路径:String absoluteDiskPath=getServletContext().getRealPath(“/testing”);但是它也不起作用。。