我正在尝试构建一个用jsp编写的在线java编译器,其中服务器端接受客户端上传的代码,编译它们,然后运行代码,最后将输出以html形式打印给用户。 我编写了一个代码,创建一个临时java文件(temp.java),其中包含来自客户端的代码,然后编译它,创建(temp.class)文件, 问题出在最后一步,当我尝试执行该文件时,当我使用本地计算机 cmd 时,它运行正常:
java temp
但是当我使用 java runTime 在服务器上调用命令时,如下所示:
Process proc = Runtime.getRuntime().exec("java testing/temp");
输出是:
Error: Could not find or load main class temp
问题是,运行时找不到二进制文件.. 那么路径是什么? 编译器位于包含 java 文件的包中,而客户端二进制文件被创建并存储在 build/web 的文件夹(testing)中..
最佳答案
尝试提供您的类(class)的完整路径。我认为应该有帮助。
关于java - 在服务器上使用 Runtime.exec 执行二进制 java 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34865482/